这里会显示出您选择的修订版和当前版本之间的差别。
en:toaster:android-developer-guide [2015/03/19 15:03] cobub created |
en:toaster:android-developer-guide [2017/07/14 11:18] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== Android Developer Guide ====== | ||
- | |||
- | Compatibility Information | ||
- | |||
- | * Compatible with Android 2.2 and above (API 8 and above) | ||
- | * SDK Version v1.0 | ||
- | ===== Integration Guide ===== | ||
- | |||
- | |||
- | Modifiy **AndroidManifest.xml** | ||
- | |||
- | Add Permission | ||
- | <code> | ||
- | <uses-permission android:name="android.permission.INTERNET" /> | ||
- | <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> | ||
- | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/></code> | ||
- | Add components | ||
- | <code> | ||
- | <service android:name="com.cobub.toaster.push.component.PushService"> | ||
- | <intent-filter> | ||
- | <action android:name="com.cobub.toaster.push.SYNC" /> | ||
- | </intent-filter> | ||
- | </service> | ||
- | <receiver android:name="com.cobub.toaster.push.component.CPushReceiver" | ||
- | android:permission="android.permission.RECEIVE_BOOT_COMPLETED" > | ||
- | <intent-filter> | ||
- | <action android:name="android.intent.action.BOOT_COMPLETED" /> | ||
- | <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> | ||
- | </intent-filter> | ||
- | </receiver> | ||
- | </code> | ||
- | **Add the code** | ||
- | |||
- | Call the following API as soon as possible after starting app: | ||
- | <code> | ||
- | CPushInterface.initPushService(Context ctx, String UID, String host, int port);</code> | ||
- | ===== API Reference ===== | ||
- | |||
- | |||
- | **Initialize** | ||
- | <code> | ||
- | CPushInterface.initPushService(Context ctx, String UID, String host, int port);</code> | ||
- | * ctx: context parameter | ||
- | * UID: UID of the device, mandatory | ||
- | * host: PNS url or IP address | ||
- | * port: PNS binding port | ||
- | |||
- | **Set Channel** | ||
- | |||
- | This method sets tag value for terminal device. | ||
- | <code> | ||
- | CPushInterface.setChannel(Context ctx, String channelName);</code> | ||
- | * ctx:context parameter | ||
- | * channelName:channel value, here is a tag for termianl, for example “location:Beijing” | ||
- | |||
- | **Read feedback** | ||
- | |||
- | Report to PNS that notification has been clicked (read). | ||
- | <code> | ||
- | CPushInterface.sendReadFeedback(Context context, String mid, String expired);</code> | ||
- | * ctx:context parameter | ||
- | * mid:mid in pushed message | ||
- | * expired:expired time in pushed message | ||
- | |||
- | **Receive Push Content** | ||
- | |||
- | The payload message is transferred via Broadcast. It’s needed to set a BroadcastReceiver to receive, and the Receiver needs to filter their app package name (package) of action, otherwise it can not receive the message, add the following to menifest: | ||
- | <code> | ||
- | <receiver | ||
- | android:name="com.cobub.toaster.push.TestReceiver" | ||
- | android:permission="com.cobub.toaster.push"> | ||
- | <intent-filter > | ||
- | <action android:name="com.cobub.toaster.push"/> | ||
- | </intent-filter> | ||
- | </receiver></code> | ||
- | The data form PNS to mobile device contains the following content: | ||
- | <code> | ||
- | mid:“XXXXXX” | ||
- | data:“XXXXXX” | ||
- | expired:“XXXXXX” | ||
- | channel:“XXXXXXXX” </code> | ||
- | In Receiver the field can be retrieved by the following methods: | ||
- | <code> | ||
- | String msg = intent.getStringExtra("data"); | ||
- | String expired = intent.getStringExtra("expired"); | ||
- | String mid = intent.getStringExtra("mid");</code> | ||
- | Call according to the need Read feedback interface. |