diff --git a/iFish7/build.gradle b/iFish7/build.gradle
index a8a3ce268..5d0b588c4 100644
--- a/iFish7/build.gradle
+++ b/iFish7/build.gradle
@@ -22,7 +22,7 @@ android {
}
signingConfigs {
- debug {
+ config {
keyAlias 'android.keystore'
keyPassword 'ifish7'
storeFile file('../ifish7.keystore')
@@ -81,10 +81,11 @@ android {
buildTypes {
debug {
minifyEnabled false
- signingConfig signingConfigs.debug
+ signingConfig signingConfigs.config
}
release {
minifyEnabled false
+ signingConfig signingConfigs.config
}
}
dexOptions {
@@ -172,20 +173,11 @@ dependencies {
implementation 'com.getui.opt:honor:3.6.0' // 荣耀
+ //华为
implementation 'com.huawei.hms:push:6.12.0.300'
// 添加荣耀 SDK
implementation 'com.hihonor.mcs:push:7.0.61.303'
-//
-// // 根据所需厂商选择集成
-// implementation 'com.getui.opt:hwp:3.1.2' // 华为
-// implementation 'com.getui.opt:xmp:3.3.1' // 小米
-// implementation 'com.assist-v3:oppo:3.5.0' // oppo
-// implementation 'com.assist-v3:vivo:3.2.0' // vivo
-// implementation 'com.getui.opt:mzp:3.2.3' // 魅族
-// implementation 'com.getui.opt:honor:3.6.0' // 荣耀
-
//oppo配置以下依赖都需要添加
-// implementation 'com.google.code.gson:gson:2.6.2'
implementation 'commons-codec:commons-codec:1.6'
implementation 'com.android.support:support-annotations:28.0.0'
}
\ No newline at end of file
diff --git a/iFish7/src/main/AndroidManifest.xml b/iFish7/src/main/AndroidManifest.xml
index 89fefedf5..7256fc80b 100644
--- a/iFish7/src/main/AndroidManifest.xml
+++ b/iFish7/src/main/AndroidManifest.xml
@@ -643,8 +643,19 @@
android:theme="@style/Transparent" />
+ android:theme="@style/Transparent">
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
\ No newline at end of file
diff --git a/iFish7/src/main/java/com/ifish/activity/RecentContactsActivity.java b/iFish7/src/main/java/com/ifish/activity/RecentContactsActivity.java
index 98cde8068..12ba7869c 100644
--- a/iFish7/src/main/java/com/ifish/activity/RecentContactsActivity.java
+++ b/iFish7/src/main/java/com/ifish/activity/RecentContactsActivity.java
@@ -27,6 +27,7 @@ import com.ifish.utils.AnimationUtil;
import com.ifish.utils.Commons;
import com.ifish.utils.HttpListener;
import com.ifish.utils.HttpManager;
+import com.ifish.utils.L;
import com.ifish.utils.PushTypeEnum;
import com.ifish.utils.ToastUtil;
import com.ifish.utils.UnreadCount;
@@ -34,14 +35,19 @@ import com.ifish.view.CustomSwipeRefreshLayout;
import com.ifish.view.MyCheckView;
import com.ifish.view.PopWindowDevice_EventBus;
import com.ifish.view.PopWindowPushDel;
+import com.igexin.sdk.PushManager;
import com.squareup.picasso.Picasso;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
+import java.math.BigInteger;
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
import de.greenrobot.event.EventBus;
/**
@@ -84,7 +90,65 @@ public class RecentContactsActivity extends BaseFragmentActivity implements Cust
initView();
initListener();
startData();
+//获取自定义透传参数值
+ Intent intent = getIntent();
+ if (null != intent) {
+ String payload = intent.getStringExtra("payload");
+ L.i("payload = " + payload);
+ }
+ //上报华为、oppo、vivo离线点击数据
+ pushClick(intent);
+ }
+ @Override
+ protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ //获取自定义透传参数值
+ if (null != intent) {
+ String payload = intent.getStringExtra("payload");
+ L.i( "payload = " + payload);
+ }
+ }
+ /**
+ * 由于华为、oppo 无点击数报表返回,vivo无单推点击数报表返回,所以需要您在客户端埋点上报。
+ * 点击厂商通知以后,在触发的activity的onCreate()方法里面接收相关参数,上报这 3 个离线厂商消息的点击数据。
+ * 开发者可直接使用此方法示例
+ *
+ * @param intent
+ * @return
+ */
+ public boolean pushClick(Intent intent) {
+ boolean result = false;
+ try {
+ String taskid = intent.getStringExtra("gttask");
+ String gtaction = intent.getStringExtra("gtaction");
+ String clientid = PushManager.getInstance().getClientid(this);
+ String uuid = UUID.randomUUID().toString().replaceAll("-", "");
+ // 这里的messageid需要自定义, 保证每条消息汇报的都不相同
+ String contentToDigest = taskid + clientid + uuid;
+ byte[] md5s = MessageDigest.getInstance("MD5").digest(contentToDigest.getBytes(StandardCharsets.UTF_8));
+ String messageid = new BigInteger(1, md5s).toString(16);
+
+ /***
+ * 第三方回执调用接口,可根据业务场景执行
+ * 注意:只能用下面回执对应的机型进行上报点击测试,其它机型获取不到 gttask 字段
+ *
+ * 60020 华为点击
+ * 60030 oppo点击
+ * 60040 vivo点击
+ * 60070 荣耀点击
+ *
+ * 埋点接口对应填写获取到的actionid值,如果有获取到 actionid 值,就上报埋点,如 果没有则不用上报。
+ *
+ */
+ if (gtaction != null) {
+ int actionid = Integer.parseInt(gtaction);
+ result = PushManager.getInstance().sendFeedbackMessage(this, taskid, messageid, actionid);
+ }
+ } catch (Exception e) {
+ //…………
+ }
+ return result;
}
public void onEventMainThread(JpushBean event) {//收到推送 刷新列表
diff --git a/iFish7/src/main/java/com/ifish/push/IIntentService.java b/iFish7/src/main/java/com/ifish/push/IIntentService.java
index e3cb90d03..64cfaf008 100644
--- a/iFish7/src/main/java/com/ifish/push/IIntentService.java
+++ b/iFish7/src/main/java/com/ifish/push/IIntentService.java
@@ -2,6 +2,7 @@ package com.ifish.push;
import android.content.Context;
import android.content.Intent;
+import android.net.Uri;
import com.ifish.activity.PushActivity;
import com.ifish.activity.RecentContactsActivity;
@@ -45,8 +46,11 @@ public class IIntentService extends GTIntentService {
super.onNotificationMessageClicked(context, gtNotificationMessage);
L.i("jjia---------通知点击---");
Intent intent = new Intent();
- intent.setClass(context, PushActivity.class);
+ intent.setClass(context, RecentContactsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ intent.putExtra("payload", "payloadStr");
+ intent.setData(Uri.parse("gtpushscheme://com.getui.push/detail?"));
context.startActivity(intent);
}
}