راهنمای استفاده از کتابخانهٔ پوش نوتیفیکیشن در اکلیپس
دریافت کد نمونه
نمونه این کد را در گیتهاب مشاهده کنید: 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
را از پنل مدیریت اپلیکیشنتان میتوانید دریافت کنید. در پنل مدیریت پوش نوتیفیکیشن، بخش «مستندات/دانلود کتابخانه» این قسمت از کد برای هر اپلیکیشن شما به صورت آماده وجود دارد و برای راحتی بیشتر میتوانید این قطعه کد را از آن قسمت کپی کنید.
پس از اعمال تغییرات سرویس پوش نوتیفیکیشن نیواد برای اپلیکیشن شما آماده استفاده است . دریافت پیامها، نمایش نوتیفیکیشنها و جمعآوری اطلاعات دورهای همه به شکل خودکار انجام میشوند . شما میتوانید با استفاده از پنل پوش رفتارهای مورد نیاز خود را به نوتیفیکیشنها اضافه کنید. برای آشنایی با قابلیتهای این پنل اینجا را ببینید.