配置AndroidManifest.xml
配置内容包括推送功能所需的核心组件 service 和 receiver、应用 id、渠道号等信息,其中的渠道号由开发者自行定义。
可以直接从 Demo 项目 的 AndroidManifest.xml 里复制相关的配置信息,也可以参考以下Manifest 配置说明。
<! -- push service 运行需要的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<! -- push所用的核心服务声明 -->
<service
android:name="com.cocos.push.service.CCPushService"
android:enabled="true"
android:exported="true"
android:process=":cocos.push.service">
<intent-filter>
<action android:name="cocos.push.service" />
</intent-filter>
</service>
<! -- 请创建广播接收者类,该类需要继承CCPushRecevier类 -->
<receiver android:name="用户自定义的广播接收者类">
<intent-filter>
<action android:name="com.cocos.push.service.action.MESSAGE" />
<! —多包名推送支持 -->
<action android:name="com.cocos.push.service.action.MESSAGE_V2" />
<! -- 接收启停push、设置删除标签、设置删除帐号等操作的反馈 -->
<action android:name="com.cocos.push.service.action.RECEIVE" />
</intent-filter>
</receiver>
<! -- push SDK内置的广播接收者类声明,用于接收push推送的消息 -->
<receiver
android:name="com.cocos.push.client.CCPushClientReceiver"
android:process=":cocos.push.service">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="com.cocos.push.service.action.notification.SHOW" />
<action android:name="com.cocos.push.service.action.notification.CANCEL" />
<action android:name="com.cocos.push.service.action.UPDATE" />
<action android:name="com.cocos.push.service.action.AUTOCHECK" />
</intent-filter>
</receiver>
<! -- 请先登录开发者平台并添加应用,将生成的“APP id”填入此项 -->
<meta-data android:name="cocos_aid" android:value="your_app_id" />
<! -- 请写入自定义的渠道ID,用于按渠道精准推送,允许为空 -->
<meta-data android:name="cocos_cid" android:value="your_app_channel" />
</application>
初始化设置
com.cocos.CCPush.init(AppActivity.this);
com.cocos.CCPush.startPush(AppActivity.this);
com.cocos.CCPush.setDebugMode(true);
quick 回调方法public static void pushTool_addPush(String _key , String _name, String _content, int time1) --添加一条推送
{
// time1:10*1000,指10秒后弹出推送 "消息1,恭喜您,中奖啦!":推送内容 id:1001
// int playerID = Integer.parseInt(_key);
Date dt= new Date();
Long time= dt.getTime() + time1 * 1000;
int res = com.cocos.CCPush.setLocalTimer(m_activity.getApplicationContext(), true, time, "push", "",_content);
Log.d("addpush","push reslut"+res);
}
public static void pushTool_removePush(String _key , String _name) --移除全部推送
{
com.cocos.CCPush.cancelAllLocalTimer(m_activity); --m_activity = activity.this
}
public static String pushTool_getTokenStr()
{
return m_TokenStr;
}
public static void pushTool_setTokenStr(String id , String channel)
{
m_TokenStr = id + channel; --是一个字符串token发送给服务端
com.cocos.CCPush.setAccount(m_activity, m_TokenStr);
}