phoengap百度云推送插件(android)

该插件是基于百度云推送而定制开发。

需要您到百度云推送网站去注册申请百度云推送的appkey。

如何申请可以去百度开发者中心查看。

1.下载 百度云推送的 sdk包

2.解压sdk包把相应的lib文件夹下的库文件拷贝到你当前项目的lib文件夹下面。

并将该库文件引入到你的项目中。jar包添加到工程的Java Build Path。

3.下载百度推送提供的demo包解压,复制相应的文件到你当前的项目中。

  1. 拷贝资源文件夹res下面的相关图文件和layout文件(这里我们使用默认的相关样式,当然如果自己有能力可以直接写)
  2. 拷贝java文件到你的项目中。
    • PushMessageReceiver.java 这个是用来接受消息的可以使用官方的即可。这里需要把里面的报错的activity名换成自己的当前项目组activity。
    • Utils.java 是一个用来查询应用的API Key的,可以略加修改直接使用
    • CustomActivity.java 用来显示通知的Activity,这个就是app收到消息之后点击后的处理程序,这里可以直接修改。
  3. 给当前项目添加权限
  4. <uses-permission android:name=”android.permission.INTERNET”/>
    <uses-permission android:name=”android.permission.READ_PHONE_STATE” />
    <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
    <uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” />
    <uses-permission android:name=”android.permission.WRITE_SETTINGS” />
    <uses-permission android:name=”android.permission.VIBRATE” />
    <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
    <uses-permission android:name=”android.permission.SYSTEM_ALERT_WINDOW”/>
    <uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />
    <uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” />
    <uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” />
    <uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />
    <!– for log. –>
    <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
    <uses-permission android:name=”android.permission.ACCESS_DOWNLOAD_MANAGER”/>
    <uses-permission android:name=”android.permission.DOWNLOAD_WITHOUT_NOTIFICATION” />
    <uses-permission android:name=”android.permission.SYSTEM_ALERT_WINDOW”/>
    <uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />
    <uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” />
    <uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” />
    <uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />


4.添加配置信息

这里需要特别注意的是在你当前项目的主activity下面加上

android:launchMode=”singleTask”


这是为了防止程序的activity重复启动。

 

添加自定义消息处理activity。

<activity
android:name=”com.××××.×××××.CustomActivity”
android:configChanges=”orientation|keyboardHidden”
android:label=”消息中心” >
</activity>

富媒体的配置

<!– push service rich media display –>
<activity
android:name=”com.baidu.android.pushservice.richmedia.MediaViewActivity”
android:configChanges=”orientation|keyboardHidden”
android:label=”MediaViewActivity” >
</activity>
<activity
android:name=”com.baidu.android.pushservice.richmedia.MediaListActivity”
android:configChanges=”orientation|keyboardHidden”
android:label=”MediaListActivity”
android:launchMode=”singleTask” >
</activity>


接受推送的客户端处理程序

<!– push service client –>
<receiver android:name=”com.××××.××××.PushMessageReceiver”>
<intent-filter>
<!– 接收push消息 –>
<action android:name=”com.baidu.android.pushservice.action.MESSAGE” />
<!– 接收bind,unbind,fetch,delete等反馈消息 –>
<action android:name=”com.baidu.android.pushservice.action.RECEIVE” />
<action android:name=”com.baidu.android.pushservice.action.notification.CLICK” />
</intent-filter>
</receiver>


接受消息的后台服务

<!– push service –>
<receiver android:name=”com.baidu.android.pushservice.PushServiceReceiver”
android:process=”:bdservice_v1″>
<intent-filter>
<action android:name=”android.intent.action.BOOT_COMPLETED” />
<action android:name=”android.net.conn.CONNECTIVITY_CHANGE” />
<action android:name=”com.baidu.android.pushservice.action.notification.SHOW” />
<action android:name=”com.baidu.android.pushservice.action.media.CLICK” />
</intent-filter>
</receiver>
<receiver android:name=”com.baidu.android.pushservice.RegistrationReceiver”
android:process=”:bdservice_v1″>
<intent-filter>
<action android:name=”com.baidu.android.pushservice.action.METHOD” />
<action android:name=”com.baidu.android.pushservice.action.BIND_SYNC” />
</intent-filter>
<intent-filter>
<action android:name=”android.intent.action.PACKAGE_REMOVED”/>
<data android:scheme=”package” />
</intent-filter>
</receiver>
<service
android:name=”com.baidu.android.pushservice.PushService”
android:exported=”true”
android:process=”:bdservice_v1″ />
<meta-data android:name=”api_key” android:value=”您的apikey” />
注意文章里面的×××是根据你项目情况来写的包名。

4. 添加Pgbaidupush。java插件到你项目。在java文件里配置你的apikey。

5.在config.xml文件里面配置你的插件信息。

<plugin name=”Pgbaidupush” value=”com.×××.×××××.Pgbaidupush”/>


6.拷贝Pgbaidupush.js文件到你的www包里面,并引入到你的html页面里面。

在页面内调用以下方法:

初始化推送:

function startpush() {
window.plugins.Pgbaidupush.pushStart(
function(success){alert(“success”);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


这样在app启动之后就会注册该推送id,并开始监听该app。

 

停止推送:

function pushstop() {
window.plugins.Pgbaidupush.stopWork(
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);


恢复推送:

  function pushresume() {
window.plugins.Pgbaidupush.resumeWork(
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


设置标签:

  function settags() {
var tag = “aa”;
window.plugins.Pgbaidupush.setTags(
tag,
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


删除标签:

 function deltags() {
var tag = “aaa”;
window.plugins.Pgbaidupush.delTags(
tag,
function(success) {alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


查看富媒体库:

function pushRichMedia() {
window.plugins.Pgbaidupush.RichMedia(
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}


查看历史消息:

function pushmsglist() {
window.plugins.Pgbaidupush.Msglist(
function(success) { alert(success);},
function(fail){alert(“encoding failed: ” + fail);}
);
}

获取UID 用来单播推送:

function Uid(){
window.plugins.Pgbaidupush.Uid(
function(success) {
var uid = JSON.parse(success)
var channel_id = uid.response_params.channel_id;
var user_id = uid.response_params.user_id;
$(“#uid”).html(“channel_id:”+channel_id+”<br/>user_id:”+user_id);
},
function(fail){alert(“encoding failed: ” + fail);}
);
}

通过以上方法就可以完美的实现百度云推送。功能,

至于如何对推送的数据和信息的业务处理可以根据app需求来完善。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值