mirror of
https://github.com/jpush/jpush-phonegap-plugin.git
synced 2025-01-31 14:32:51 +08:00
添加控制统计分析功能的API
添加控制统计分析的api,并修改了相关文档和示例代码,开发者可通过 js 代码直接控制是否启用统计分析功能。
This commit is contained in:
parent
dde913b922
commit
7d4b6acacd
65
README.md
65
README.md
@ -17,16 +17,16 @@ jpush-phonegap-plugin 支持 iOS,Android 的推送插件。
|
||||
1. cordova create 文件夹名字 包名 应用名字
|
||||
|
||||
cordova create Myproj com.myproj.jpush MyTestProj
|
||||
|
||||
|
||||
2. 添加平台
|
||||
|
||||
cd Myproj
|
||||
cd Myproj
|
||||
cordova platform add android
|
||||
cordova platform add ios
|
||||
|
||||
ps:这里请注意iOS平台,必须先执行 `cordova platform add ios`,
|
||||
然后再执行`cordova plugin add xxxxx`命令,不然有一些必须要的链接库需要手动添加
|
||||
|
||||
|
||||
|
||||
###Cordova CLI/Phonegap 安装 Android & iOS
|
||||
|
||||
@ -53,14 +53,14 @@ jpush-phonegap-plugin 支持 iOS,Android 的推送插件。
|
||||
|
||||
3). 在js中调用函数,初始化jpush sdk
|
||||
|
||||
window.plugins.jPushPlugin.init();
|
||||
window.plugins.jPushPlugin.init();
|
||||
//由于phonegap插件采用了Lazy load的特性, 所以这里建议在js文件能执行的最开始就加
|
||||
|
||||
|
||||
### Android 手工安装
|
||||
|
||||
[Android 手工安装文档地址](document/Android_handle_install.md)
|
||||
|
||||
|
||||
|
||||
### IOS手工安装
|
||||
|
||||
@ -88,10 +88,10 @@ jpush-phonegap-plugin 支持 iOS,Android 的推送插件。
|
||||
|
||||
具体的API请参考这里
|
||||
|
||||
#### iOS和adnroid通用API简介
|
||||
#### iOS和android通用API简介
|
||||
|
||||
+ 停止与恢复推送服务 API
|
||||
|
||||
|
||||
window.plugins.jPushPlugin.init()
|
||||
window.plugins.jPushPlugin.stopPush()
|
||||
window.plugins.jPushPlugin.resumePush()
|
||||
@ -101,17 +101,17 @@ jpush-phonegap-plugin 支持 iOS,Android 的推送插件。
|
||||
+ 获取 RegistrationID API
|
||||
|
||||
window.plugins.jPushPlugin.getRegistrationID(callback)
|
||||
|
||||
|
||||
+ 别名与标签 API
|
||||
|
||||
|
||||
window.plugins.jPushPlugin.setTagsWithAlias(tags,alias)
|
||||
window.plugins.jPushPlugin.setTags(tags)
|
||||
window.plugins.jPushPlugin.setAlias(alias)
|
||||
+ 获取点击通知内容
|
||||
|
||||
|
||||
event - jpush.openNotification
|
||||
+ 获取通知内容
|
||||
|
||||
|
||||
event - jpush.receiveNotification
|
||||
|
||||
+ 获取自定义消息推送内容
|
||||
@ -128,9 +128,9 @@ jpush-phonegap-plugin 支持 iOS,Android 的推送插件。
|
||||
event - jpush.receiveMessage
|
||||
//推荐使用事件的方式传递,但同时保留了receiveMessageIniOSCallback的回调函数,兼容以前的代码
|
||||
window.plugins.jPushPlugin.receiveMessageIniOSCallback(data)
|
||||
|
||||
|
||||
+ 页面的统计
|
||||
|
||||
|
||||
window.plugins.jPushPlugin.startLogPageView (pageName)
|
||||
window.plugins.jPushPlugin.stopLogPageView (pageName)
|
||||
window.plugins.jPushPlugin.beginLogPageView (pageName,duration)
|
||||
@ -142,31 +142,36 @@ jpush-phonegap-plugin 支持 iOS,Android 的推送插件。
|
||||
+ 本地通知
|
||||
|
||||
+ 后续版本加入
|
||||
|
||||
|
||||
+ 日志等级设置
|
||||
|
||||
|
||||
window.plugins.jPushPlugin.setDebugModeFromIos ()
|
||||
window.plugins.jPushPlugin.setLogOFF()
|
||||
|
||||
|
||||
|
||||
|
||||
[iOS API详细说明](document/iOS_detail_api.md)
|
||||
|
||||
|
||||
#### adnroid API简介
|
||||
|
||||
#### android API简介
|
||||
|
||||
+ 获取集成日志
|
||||
window.plugins.jPushPlugin.setDebugMode(mode)
|
||||
|
||||
+ 接收推送消息和点击通知
|
||||
|
||||
|
||||
//下面这两个api 是兼容旧有的代码
|
||||
window.plugins.jPushPlugin.receiveMessageInAndroidCallback(data)
|
||||
window.plugins.jPushPlugin.openNotificationInAndroidCallback(data)
|
||||
|
||||
+ 统计分析 API
|
||||
|
||||
onResume / onPause(java api)
|
||||
|
||||
window.plugins.jPushPlugin.setStatisticsOpen(boolean)
|
||||
|
||||
或在 MainActivity 中的 onPause() 和 onResume() 方法中分别调用
|
||||
JPushInterface.onResume(this) 和 JPushInterface.onPause(this) 来启用统计分析功能,
|
||||
如果使用这种方式启用统计分析功能,则window.plugins.jPushPlugin.setStatisticsOpen(boolean)
|
||||
方法不再有效,建议不要同时使用。
|
||||
|
||||
+ 清除通知 API
|
||||
|
||||
window.plugins.jPushPlugin.clearAllNotification()
|
||||
@ -177,11 +182,11 @@ jpush-phonegap-plugin 支持 iOS,Android 的推送插件。
|
||||
window.plugins.jPushPlugin.setCustomPushNotificationBuilder = function()
|
||||
|
||||
+ 设置保留最近通知条数 API
|
||||
|
||||
|
||||
window.plugins.jPushPlugin.setLatestNotificationNum(num)
|
||||
|
||||
|
||||
+ 本地通知API
|
||||
|
||||
|
||||
window.plugins.jPushPlugin.addLocalNotification(builderId,
|
||||
content,
|
||||
title,
|
||||
@ -195,18 +200,18 @@ jpush-phonegap-plugin 支持 iOS,Android 的推送插件。
|
||||
|
||||
###常见问题
|
||||
|
||||
####1. androd
|
||||
####1. android
|
||||
|
||||
eclipse中phonegap工程import之后出现:`Type CallbackContext cannot be resolved to a type`
|
||||
解决方案:eclipse中右键单击工程名,Build Path->Config Build Path->Projects->选中 工程名称-CordovaLib->点击 add
|
||||
|
||||
####2. iOS 设置/修改 APP_KEY
|
||||
|
||||
在PushConfig.plist 中修改。PushConfig.plist 其他值说明:
|
||||
|
||||
在PushConfig.plist 中修改。PushConfig.plist 其他值说明:
|
||||
CHANNEL 渠道标识
|
||||
IsProduction 是否生产环境(暂未启用)
|
||||
|
||||
|
||||
|
||||
|
||||
###更多
|
||||
[JPush官网文档](http://docs.jpush.io/)
|
||||
[JPush官网文档](http://docs.jpush.io/)
|
||||
|
@ -105,6 +105,7 @@
|
||||
window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
|
||||
} else {
|
||||
window.plugins.jPushPlugin.setDebugMode(true);
|
||||
window.plugins.jPushPlugin.setStatisticsOpen(true);
|
||||
}
|
||||
}
|
||||
catch (exception) {
|
||||
@ -220,5 +221,3 @@
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -18,28 +18,28 @@ JPushPlugin.prototype.error_callback = function(msg){
|
||||
console.log("Javascript Callback Error: " + msg)
|
||||
}
|
||||
|
||||
JPushPlugin.prototype.call_native = function(name, args, callback){
|
||||
JPushPlugin.prototype.call_native = function(name, args, callback){
|
||||
|
||||
ret = cordova.exec(callback,this.error_callback,'JPushPlugin',name,args);
|
||||
return ret;
|
||||
}
|
||||
//public plugin function
|
||||
|
||||
JPushPlugin.prototype.startLogPageView = function(pageName){
|
||||
JPushPlugin.prototype.startLogPageView = function(pageName){
|
||||
if(this.isPlatformIOS()){
|
||||
this.call_native( "startLogPageView",[pageName],null);
|
||||
}
|
||||
this.call_native( "startLogPageView",[pageName],null);
|
||||
}
|
||||
}
|
||||
|
||||
JPushPlugin.prototype.stopLogPageView = function(pageName){
|
||||
if(this.isPlatformIOS()){
|
||||
this.call_native( "stopLogPageView",[pageName],null);
|
||||
this.call_native( "stopLogPageView",[pageName],null);
|
||||
}
|
||||
}
|
||||
|
||||
JPushPlugin.prototype.beginLogPageView = function(pageName,duration){
|
||||
if(this.isPlatformIOS()){
|
||||
this.call_native( "beginLogPageView",[pageName,duration],null);
|
||||
this.call_native( "beginLogPageView",[pageName,duration],null);
|
||||
}
|
||||
}
|
||||
JPushPlugin.prototype.setApplicationIconBadgeNumber = function(badge){
|
||||
@ -73,7 +73,7 @@ JPushPlugin.prototype.setTagsWithAlias = function(tags,alias){
|
||||
|
||||
}
|
||||
JPushPlugin.prototype.setTags = function(tags){
|
||||
|
||||
|
||||
try{
|
||||
this.call_native("setTags",tags,null);
|
||||
}
|
||||
@ -83,15 +83,15 @@ JPushPlugin.prototype.setTags = function(tags){
|
||||
}
|
||||
|
||||
JPushPlugin.prototype.setAlias = function(alias){
|
||||
try{
|
||||
try{
|
||||
this.call_native("setAlias",[alias],null);
|
||||
}
|
||||
catch(exception){
|
||||
catch(exception){
|
||||
console.log(exception);
|
||||
}
|
||||
}
|
||||
JPushPlugin.prototype.getRegistrationID = function(callback){
|
||||
|
||||
|
||||
try{
|
||||
var data=[];
|
||||
this.call_native("getRegistrationID",[data],callback);
|
||||
@ -102,8 +102,8 @@ JPushPlugin.prototype.getRegistrationID = function(callback){
|
||||
}
|
||||
|
||||
JPushPlugin.prototype.setBadge = function(value){
|
||||
|
||||
if(this.isPlatformIOS()){
|
||||
|
||||
if(this.isPlatformIOS()){
|
||||
try{
|
||||
this.call_native("setBadge",[value],null);
|
||||
}
|
||||
@ -114,7 +114,7 @@ JPushPlugin.prototype.setBadge = function(value){
|
||||
}
|
||||
}
|
||||
JPushPlugin.prototype.resetBadge = function(){
|
||||
|
||||
|
||||
if(this.isPlatformIOS()){
|
||||
try{
|
||||
var data=[];
|
||||
@ -145,7 +145,7 @@ JPushPlugin.prototype.receiveMessageIniOSCallback = function(data){
|
||||
var content = bToObj.content;
|
||||
console.log(content);
|
||||
}
|
||||
catch(exception){
|
||||
catch(exception){
|
||||
console.log("JPushPlugin:receiveMessageIniOSCallback"+exception);
|
||||
}
|
||||
}
|
||||
@ -164,7 +164,7 @@ JPushPlugin.prototype.receiveMessageInAndroidCallback = function(data){
|
||||
//console.log(extras['cn.jpush.android.CONTENT_TYPE']);
|
||||
//console.log(extras['cn.jpush.android.EXTRA']);
|
||||
}
|
||||
catch(exception){
|
||||
catch(exception){
|
||||
console.log("JPushPlugin:pushCallback "+exception);
|
||||
}
|
||||
}
|
||||
@ -174,9 +174,9 @@ JPushPlugin.prototype.openNotificationInAndroidCallback = function(data){
|
||||
try{
|
||||
console.log("JPushPlugin:openNotificationInAndroidCallback");
|
||||
var bToObj = JSON.parse(data);
|
||||
this.openNotification=bToObj;
|
||||
this.openNotification=bToObj;
|
||||
cordova.fireDocumentEvent('jpush.openNotification',null);
|
||||
|
||||
|
||||
//console.log(data);
|
||||
//var bToObj = JSON.parse(data);
|
||||
//var alert = bToObj.alert;
|
||||
@ -191,7 +191,7 @@ JPushPlugin.prototype.openNotificationInAndroidCallback = function(data){
|
||||
//console.log(extras['cn.jpush.android.NOTIFICATION_ID']);
|
||||
//console.log("JPushPlugin:openNotificationCallback is ready");
|
||||
}
|
||||
catch(exception){
|
||||
catch(exception){
|
||||
console.log(exception);
|
||||
}
|
||||
}
|
||||
@ -199,9 +199,9 @@ JPushPlugin.prototype.receiveNotificationInAndroidCallback = function(data){
|
||||
try{
|
||||
console.log("JPushPlugin:receiveNotificationInAndroidCallback");
|
||||
var bToObj = JSON.parse(data);
|
||||
this.receiveNotification=bToObj;
|
||||
this.receiveNotification=bToObj;
|
||||
cordova.fireDocumentEvent('jpush.receiveNotification',null);
|
||||
|
||||
|
||||
//console.log(data);
|
||||
//var bToObj = JSON.parse(data);
|
||||
//var alert = bToObj.alert;
|
||||
@ -216,7 +216,7 @@ JPushPlugin.prototype.receiveNotificationInAndroidCallback = function(data){
|
||||
//console.log(extras['cn.jpush.android.NOTIFICATION_ID']);
|
||||
//console.log("JPushPlugin:openNotificationCallback is ready");
|
||||
}
|
||||
catch(exception){
|
||||
catch(exception){
|
||||
console.log(exception);
|
||||
}
|
||||
}
|
||||
@ -244,7 +244,7 @@ JPushPlugin.prototype.stopPush = function(){
|
||||
JPushPlugin.prototype.resumePush = function(){
|
||||
data=[]
|
||||
this.call_native("resumePush",data,null);
|
||||
|
||||
|
||||
}
|
||||
JPushPlugin.prototype.setDebugMode = function(mode){
|
||||
if(device.platform == "Android") {
|
||||
@ -276,7 +276,7 @@ JPushPlugin.prototype.isPushStopped = function(callback){
|
||||
|
||||
data=[];
|
||||
this.call_native("isPushStopped",data,callback)
|
||||
|
||||
|
||||
}
|
||||
|
||||
JPushPlugin.prototype.init = function(){
|
||||
@ -288,7 +288,7 @@ JPushPlugin.prototype.init = function(){
|
||||
this.call_native("init",data,null);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
JPushPlugin.prototype.setDebugMode = function(mode){
|
||||
@ -316,11 +316,21 @@ JPushPlugin.prototype.clearLocalNotifications = function(){
|
||||
|
||||
JPushPlugin.prototype.reportNotificationOpened = function(msgID){
|
||||
if(device.platform == "Android") {
|
||||
|
||||
|
||||
this.call_native("reportNotificationOpened",[msgID],null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*是否开启统计分析功能,用于“用户使用时长”,“活跃用户”,“用户打开次数”的统计,并上报到服务器上,
|
||||
*在 Portal 上展示给开发者。
|
||||
**/
|
||||
JPushPlugin.prototype.setStatisticsOpen = function(mode) {
|
||||
if(device.platform == "Android") {
|
||||
this.call_native("setStatisticsOpen", [mode], null);
|
||||
}
|
||||
}
|
||||
|
||||
//iOS single
|
||||
|
||||
|
||||
@ -330,9 +340,6 @@ if(!window.plugins){
|
||||
|
||||
if(!window.plugins.jPushPlugin){
|
||||
window.plugins.jPushPlugin = new JPushPlugin();
|
||||
}
|
||||
|
||||
module.exports = new JPushPlugin();
|
||||
|
||||
|
||||
}
|
||||
|
||||
module.exports = new JPushPlugin();
|
||||
|
Loading…
Reference in New Issue
Block a user