در این مطلب در مورد مستندات در وب سرویس نیواد بخش 1 توضیح میدهیم:
راهنمای کتابخانهٔ پوش نوتیفیکیشن
استفاده از کتابخانه پوش نوتیفیکشن در اندروید استودیو
دریافت کد نمونه
نمونه این کد را در گیتهاب مشاهده کنید:
https://github.com/nivadcloud/PushNotificationSample
راهاندازی
پیش از استفاده از سرویس نیواد در اپلیکیشن خود باید برخی فایلهای پیکربندی را برای تطابق با آن اصلاح کنید که توضیحات مربوط به آنها در زیر آمده است (مستندات در وب سرویس نیواد بخش 1)
AndroidManifest.xml
پس از ایجاد اپلیکیشن جدید در نیواد، یک فایل AndroidManifest.xml به طور خودکار برای شما ایجاد میشود و از طریق پنل کاربری قابل دریافت است. این فایل حاوی اطلاعات لازم برای تعیین هویت اپلیکیشن شما و کارکرد صحیح سرویس پوش است.
در ابتدای این فایل پرمیشنهای مورد نیاز توسط نیواد تعریف شده اند. لازم است این تگها را در منیفست اپلیکیشن خود کپی کنید.
<permission android:name=”<your_package_name>.permission.C2D_MESSAGE” android:protectionLevel=”signature” />
<uses-permission android:name=”<your_package_name>.permission.C2D_MESSAGE” />
در دو پرمیشن اول باید عبارت <your_package_name>
را با package name مربوط به اپلیکیشن خود جایگزین کنید .
در صورتی که تمایل داشته باشید نوتیفیکیشنهای ارسال شده باعث لرزش دستگاه شوند لازم است پرمیشن مربوط را اضافه کنید:
<uses-permission android:name=”android.permission.VIBRATE” />
همچنین در منیفست تولید شده یک تگ application نیز وجود دارد که لازم است قسمتی از محتویات آن را داخل فایل منیفست اپلیکیش خود کپی کنید:
این تگ شامل application_id اپلیکیشن شماست. application_id مقدار یکتایی برای هر اپلیکیشن است که توسط نیواد برای تشخیص پیامهای ارسالی اپلیکیشنهای مختلف از یکدیگر استفاده میشود.
<meta-data
android:name=”io.nivad.push.application_id”
android:value=”(12345678910″/>
build.gradle
کتابخانهٔ پوش در مخزن maven نیواد قرار دارد و بدون نیاز به فیلترشکن میتوانید آن را به کمک gradle به پروژهتان اضافه کنید. در فایل build.gradle در دو بخش repositories و dependencies این کدها را اضافه کنید:
repositories {
jcenter()
maven { url ‘http://repo.nivad.io:8081/artifactory/list/libs-release’ }
}
dependencies {
compile ‘io.nivad.core:library:+’
compile ‘io.nivad.push:library:+’
compile ‘com.auth0:java-jwt:2.1.0’
compile ‘com.android.support:appcompat-v7:23.2.1’
compile ‘com.google.android.gms:play-services-gcm:8.4.0’
}
استفاده
در اولین اجرای اپلیکیشن شما لازم است که سرویسهای مربوط به پوش نوتیفیکیشن نیواد آغاز به کار کنند. برای این کار کافی است متد NivadPush.initialize و NivadCore.initialize در لحظهٔ اجرای برنامه فراخوانی شوند. پیشنهاد میشود این متد را در متد onCreate کلاس اپلیکیشن فراخوانی کنید.
public class YourApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
NivadCore.initialize(
this,
<Nivad application id>,
<Nivad application secret>
);
NivadPush.initialize(<Nivad push secret>);
}
}
مقادیر application id, application secret و push secret را از پنل مدیریت اپلیکیشنتان میتوانید دریافت کنید. در پنل مدیریت پوش نوتیفیکیشن، بخش «مستندات/دانلود کتابخانه» این قسمت از کد برای هر اپلیکیشن شما به صورت آماده وجود دارد و برای راحتی بیشتر میتوانید این قطعه کد را از آن قسمت کپی کنید.
پس از اعمال تغییرات سرویس پوش نوتیفیکیشن نیواد برای اپلیکیشن شما آماده استفاده است . دریافت پیامها، نمایش نوتیفیکیشنها و جمعآوری اطلاعات دورهای همه به شکل خودکار انجام میشوند . شما میتوانید با استفاده از پنل پوش رفتارهای مورد نیاز خود را به نوتیفیکیشنها اضافه کنید
راهنمای استفاده از کتابخانهٔ پوش نوتیفیکیشن در اکلیپس (مستندات در وب سرویس نیواد بخش 1)
دریافت کد نمونه
نمونه این کد را در گیتهاب مشاهده کنید:
https://github.com/nivadcloud/PushNotificationSample
راهاندازی
پیش از استفاده از سرویس نیواد در اپلیکیشن خود باید برخی فایلهای پیکربندی را برای تطابق با آن اصلاح کنید که توضیحات مربوط به آنها در زیر آمده است .
AndroidManifest.xml
پس از ایجاد اپلیکیشن جدید در نیواد، یک فایل AndroidManifest.xml به طور خودکار برای شما ایجاد میشود و از طریق پنل کاربری قابل دریافت است. این فایل حاوی اطلاعات لازم برای تعیین هویت اپلیکیشن شما و کارکرد صحیح سرویس پوش است.
در ابتدای این فایل پرمیشنهای مورد نیاز توسط نیواد تعریف شده اند. لازم است این تگها را در منیفست اپلیکیشن خود کپی کنید.
<permission android:name=”<your_package_name>.permission.C2D_MESSAGE” android:protectionLevel=”signature” />
<uses-permission android:name=”<your_package_name>.permission.C2D_MESSAGE” />
<uses-permission android:name=”android.permission.INTERNET” />
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
<uses-permission android:name=”android.permission.READ_PHONE_STATE” />
در دو پرمیشن اول باید عبارت <your_package_name> را با package name مربوط به اپلیکیشن خود جایگزین کنید .
در صورتی که تمایل داشته باشید نوتیفیکیشنهای ارسال شده باعث لرزش دستگاه شوند لازم است پرمیشن مربوط را اضافه کنید:
<uses-permission android:name=”android.permission.VIBRATE” />
همچنین در منیفست تولید شده یک تگ اپلیکیشن نیز وجود دارد که لازم است محتویات آن را داخل فایل منیفست اپلیکیش خود کپی کنید. این تگ شامل موارد زیر است:
receiver
سرویس پوش نوتیفیکشن تعداد broadcast receiver برای واکنش به دادههای دریافتی از سرور، ارسال گزارش دلیوری و ثبت تعاملات کاربر با نوتیفیکیشنها دارد.
<receiver
android:name=”com.google.android.gms.gcm.GcmReceiver”
android:exported=”true”
android:permission=”com.google.android.c2dm.permission.SEND” >
<intent-filter>
<action android:name=”com.google.android.c2dm.intent.RECEIVE” />
<action android:name=”com.google.android.c2dm.intent.REGISTRATION” />
<category android:name=”io.nivad.push” />
</intent-filter>
</receiver>
<receiver
android:name=”io.nivad.push.Notification.NotificationDismissReceiver”
android:exported=”false”>
<intent-filter>
<action android:name=”io.nivad.push.notification_dismiss” />
<category android:name=”io.nivad.push” />
</intent-filter>
</receiver>
<receiver
android:name=”io.nivad.push.Notification.NotificationClickReceiver”
android:exported=”false”>
<intent-filter>
<action android:name=”io.nivad.push.notification_click” />
<category android:name=”io.nivad.push” />
</intent-filter>
</receiver>
service
این سرویسها به منظور مدیریت ارتباطات پس زمینه با سرورهای GCM گوگل و ثبت دستگاه در سرویس نیواد تعریف شدهاند.
<service
android:name=”io.nivad.push.GCMListenerService”
android:exported=”false” >
<intent-filter>
<action android:name=”com.google.android.c2dm.intent.RECEIVE” />
</intent-filter>
</service>
<service
android:name=”io.nivad.push.RegistrationService”
android:exported=”false” >
</service>
<service
android:name=”io.nivad.push.InstanceIDService”
android:exported=”false”>
<intent-filter>
<action android:name=”com.google.android.gms.iid.InstanceID” />
</intent-filter>
</service>
mete-data
این تگ شامل application_id اپلیکیشن شماست. application_id مقدار یکتایی برای هر اپلیکیشن است که توسط نیواد برای تشخیص پیامهای ارسالی اپلیکیشنهای مختلف از یکدیگر استفاده میشود.
<meta-data
android:name=”io.nivad.push.application_id”
android:value=”(12345678910″/>
افزودن فایلهای کتابخانه
کد مربوط به سرویس پوش در قالب یک فایل zip شامل کتابخانههای مورد نیاز در اختیار شما قرار میگیرد . این فایلهای jar باید در فولدر libs مربوط به ماژولی که قصد استفاده از نیواد را دارد کپی شوند. علاوه بر این سه فایل jar، دو کتابخانهٔ مربوط به گوگلپلی هم باید به پروژهتان اضافه شود:
App compat V7: راهنمای اضافه کردن آن را میتوانید در استک اورفلو یا مستندات اندروید بخوانید.
GCM: راهنمای اضافه کردن آن را میتوانید در مستندات اندروید (روی تب Other کلیک کنید) بخوانید یا در اینترنت جستوجو کنید.
استفاده
در اولین اجرای اپلیکیشن شما لازم است که سرویسهای مربوط به پوش نوتیفیکیشن نیواد آغاز به کار کنند. برای این کار کافی است متد NivadPush.initialize و NivadCore.initialize در لحظهٔ اجرای برنامه فراخوانی شوند. پیشنهاد میشود این متد را در متد onCreate کلاس اپلیکیشن فراخوانی کنید.
public class YourApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
NivadCore.initialize(
this,
<Nivad application id>,
<Nivad application secret>
);
NivadPush.initialize(<Nivad push secret>);
}
}
مقادیر application id, application secret و push secret را از پنل مدیریت اپلیکیشنتان میتوانید دریافت کنید.
پس از اعمال تغییرات سرویس پوش نوتیفیکیشن نیواد برای اپلیکیشن شما آماده استفاده است . دریافت پیامها، نمایش نوتیفیکیشنها و جمعآوری اطلاعات دورهای همه به شکل خودکار انجام میشوند . شما میتوانید با استفاده از پنل پوش رفتارهای مورد نیاز خود را به نوتیفیکیشنها اضافه کنید
در این جا شما کمی با بخش هایی از مستندات در وب سرویس نیواد بخش 1 آشنا شدید .
جهت مطالعه بیشتر واستفاده کلیک نمائید
در این مقاله در مورد مستندات در وب سرویس نیوادبخش 1 توضیح دادیم در مقاله بعد در مورد مستندات در وب سرویس نیواد بخش 2 توضیح میدهیم.