Android版添加phonegap--百度云插件教程

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

2.解压SDK包把相应的lib文件夹下的库文件拷贝到你当前项目的lib文件夹下面。
并将该库文件引入到你的项目中。jar包添加到工程的Java Build Path。

3.下载百度推送提供的demo包解压,复制相应的文件到你当前的项目中。
(1)拷贝资源文件夹res下面的相关图文件和layout文件(这里我们使用默认的相关样式,当然如果自己有能力可以直接写)

(2)拷贝java文件到你的项目中。

(3)PushMessageReceiver.java 这个是用来接受消息的可以使用官方的即可。这里需要把里面的报错的activity名换成自己的当前项目组activity。

(4)Utils.java 是一个用来查询应用的API Key的,可以略加修改直接使用

(5)CustomActivity.java 用来显示通知的Activity,这个就是app收到消息之后点击后的处理程序,这里可以直接修改。

(6)在Pgbaidupush.class里面修改Appkey,从百度开发者中心获取。


4.给当前项目添加权限
<!– Push service 运行需要的权限  –/>
<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” />


5.添加配置信息
这里需要特别注意的是在你当前项目的主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” />
注意文章里面的×××是根据你项目情况来写的包名。


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


7.在config.xml文件里面配置你的插件信息。
<plugin name=”Pgbaidupush” value=”com.×××.×××××.Pgbaidupush”/>


8.拷贝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);}
);
}


接收穿透的消息
function callPushmsg(json){
var message=json.message;
document.getElementById(“msg”).innerHTML=message;
}


接收接收通知
function callPushNotification(json){
var title=json.title;
var content=json.content;
document.getElementById(“notice”).innerHTML=”title->”+title+”<br>”+”content–>”+content;
}


KeyMob支持百度广告、admob广告、广点通、mmedia、inmobi、chartboost、iad、adcolony视频广告等众多流行广告平台。目前是国内注册开发者最多,日广告展示量最大的移动广告平台,稳定的SDK、完美的技术支持和专业的客服都使KeyMob成为国内开发者首选。

你可能感兴趣的:(Android版添加phonegap--百度云插件教程)