@@ -0,0 +1,96 @@ | |||
{ | |||
"agcgw":{ | |||
"backurl":"connect-drcn.hispace.hicloud.com", | |||
"url":"connect-drcn.dbankcloud.cn", | |||
"websocketbackurl":"connect-ws-drcn.hispace.dbankcloud.com", | |||
"websocketurl":"connect-ws-drcn.hispace.dbankcloud.cn" | |||
}, | |||
"agcgw_all":{ | |||
"CN":"connect-drcn.dbankcloud.cn", | |||
"CN_back":"connect-drcn.hispace.hicloud.com", | |||
"DE":"connect-dre.dbankcloud.cn", | |||
"DE_back":"connect-dre.hispace.hicloud.com", | |||
"RU":"connect-drru.hispace.dbankcloud.ru", | |||
"RU_back":"connect-drru.hispace.dbankcloud.cn", | |||
"SG":"connect-dra.dbankcloud.cn", | |||
"SG_back":"connect-dra.hispace.hicloud.com" | |||
}, | |||
"websocketgw_all":{ | |||
"CN":"connect-ws-drcn.hispace.dbankcloud.cn", | |||
"CN_back":"connect-ws-drcn.hispace.dbankcloud.com", | |||
"DE":"connect-ws-dre.hispace.dbankcloud.cn", | |||
"DE_back":"connect-ws-dre.hispace.dbankcloud.com", | |||
"RU":"connect-ws-drru.hispace.dbankcloud.ru", | |||
"RU_back":"connect-ws-drru.hispace.dbankcloud.cn", | |||
"SG":"connect-ws-dra.hispace.dbankcloud.cn", | |||
"SG_back":"connect-ws-dra.hispace.dbankcloud.com" | |||
}, | |||
"client":{ | |||
"cp_id":"890086000102126289", | |||
"product_id":"388421841221324973", | |||
"client_id":"1097147676853554624", | |||
"client_secret":"9197FDE892D57B19533CBFB5BC34DD396EADE59916977DA0986C313B19F4B337", | |||
"project_id":"388421841221324973", | |||
"app_id":"107729977", | |||
"api_key":"DAEDAN8kvIq9473K8CieVezr5XWTQe8EQcy5cEiP4lJCG/y3tN53/z9QAtCc0hfVHdEqRKU2QBIkKrGzbi5YgHV9yMjIl+7lMtj1lg==", | |||
"package_name":"cn.org.bjca.trust.pushdemo" | |||
}, | |||
"oauth_client":{ | |||
"client_id":"107729977", | |||
"client_type":1 | |||
}, | |||
"app_info":{ | |||
"app_id":"107729977", | |||
"package_name":"cn.org.bjca.trust.pushdemo" | |||
}, | |||
"service":{ | |||
"analytics":{ | |||
"collector_url":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn", | |||
"collector_url_ru":"datacollector-drru.dt.dbankcloud.ru,datacollector-drru.dt.hicloud.com", | |||
"collector_url_sg":"datacollector-dra.dt.hicloud.com,datacollector-dra.dt.dbankcloud.cn", | |||
"collector_url_de":"datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn", | |||
"collector_url_cn":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn", | |||
"resource_id":"p1", | |||
"channel_id":"" | |||
}, | |||
"edukit":{ | |||
"edu_url":"edukit.edu.cloud.huawei.com.cn", | |||
"dh_url":"edukit.edu.cloud.huawei.com.cn" | |||
}, | |||
"search":{ | |||
"url":"https://search-drcn.cloud.huawei.com" | |||
}, | |||
"cloudstorage":{ | |||
"storage_url_sg_back":"https://agc-storage-dra.cloud.huawei.asia", | |||
"storage_url_ru_back":"https://agc-storage-drru.cloud.huawei.ru", | |||
"storage_url_ru":"https://agc-storage-drru.cloud.huawei.ru", | |||
"storage_url_de_back":"https://agc-storage-dre.cloud.huawei.eu", | |||
"storage_url_de":"https://ops-dre.agcstorage.link", | |||
"storage_url":"https://agc-storage-drcn.platform.dbankcloud.cn", | |||
"storage_url_sg":"https://ops-dra.agcstorage.link", | |||
"storage_url_cn_back":"https://agc-storage-drcn.cloud.huawei.com.cn", | |||
"storage_url_cn":"https://agc-storage-drcn.platform.dbankcloud.cn" | |||
}, | |||
"ml":{ | |||
"mlservice_url":"ml-api-drcn.ai.dbankcloud.com,ml-api-drcn.ai.dbankcloud.cn" | |||
} | |||
}, | |||
"region":"CN", | |||
"configuration_version":"3.0", | |||
"appInfos":[ | |||
{ | |||
"package_name":"cn.org.bjca.trust.pushdemo", | |||
"client":{ | |||
"app_id":"107729977" | |||
}, | |||
"app_info":{ | |||
"package_name":"cn.org.bjca.trust.pushdemo", | |||
"app_id":"107729977" | |||
}, | |||
"oauth_client":{ | |||
"client_type":1, | |||
"client_id":"107729977" | |||
} | |||
} | |||
] | |||
} |
@@ -1,6 +1,7 @@ | |||
plugins { | |||
id 'com.android.application' | |||
id 'org.jetbrains.kotlin.android' | |||
id 'com.huawei.agconnect' | |||
} | |||
android { | |||
@@ -19,6 +20,8 @@ android { | |||
manifestPlaceholders = [ | |||
XIAOMI_APP_ID : "2882303761520224743", | |||
XIAOMI_APP_KEY : "5762022470743", | |||
HUAWEI_APP_ID : "107729977", | |||
] | |||
} | |||
@@ -1,9 +1,14 @@ | |||
package cn.org.bjca.trust.pushdemo | |||
import android.os.Bundle | |||
import android.text.TextUtils | |||
import android.util.Log | |||
import android.widget.TextView | |||
import androidx.appcompat.app.AppCompatActivity | |||
import cn.org.bjca.trust.push.PushSdk | |||
import cn.org.bjca.trust.push.common.LogHelper | |||
import com.huawei.hms.aaid.HmsInstanceId | |||
import com.huawei.hms.common.ApiException | |||
class MainActivity : AppCompatActivity() { | |||
override fun onCreate(savedInstanceState: Bundle?) { | |||
@@ -11,6 +16,29 @@ class MainActivity : AppCompatActivity() { | |||
setContentView(R.layout.activity_main) | |||
findViewById<TextView>(R.id.tv).setOnClickListener { | |||
PushSdk.instance.register(this, "xuqm") | |||
getToken() | |||
} | |||
} | |||
private fun getToken() { | |||
// 创建一个新线程 | |||
object : Thread() { | |||
override fun run() { | |||
try { | |||
// 从agconnect-services.json文件中读取APP_ID | |||
val appId = "107729977" | |||
// 输入token标识"HCM" | |||
val tokenScope = "HCM" | |||
val token = HmsInstanceId.getInstance(this@MainActivity).getToken(appId, tokenScope) | |||
LogHelper.e( "get token:$token") | |||
} catch (e: ApiException) { | |||
LogHelper.e( "get token failed, $e") | |||
} | |||
} | |||
}.start() | |||
} | |||
} |
@@ -1,7 +1,17 @@ | |||
// Top-level build file where you can add configuration options common to all sub-projects/modules. | |||
buildscript { | |||
dependencies { | |||
// 增加Android Gradle插件版本号配置,{version}为实际的Gradle插件版本号,例如7.1.1。 | |||
classpath 'com.android.tools.build:gradle:7.1.1' | |||
// 增加AGC插件配置,请您参见AGC插件依赖关系选择合适的AGC插件版本。 | |||
classpath 'com.huawei.agconnect:agcp:1.6.0.300' | |||
} | |||
} | |||
plugins { | |||
id 'com.android.application' version '7.3.1' apply false | |||
id 'com.android.library' version '7.3.1' apply false | |||
id 'org.jetbrains.kotlin.android' version '1.7.20' apply false | |||
} | |||
apply from: "config.gradle" | |||
apply from: "config.gradle" |
@@ -77,8 +77,11 @@ dependencies { | |||
// 小米推送 | |||
// implementation (name: 'MiPush_SDK_Client_5_3_0-C_3rd', ext: 'aar') | |||
} | |||
// 华为推送 | |||
implementation 'com.huawei.hms:push:6.9.0.300' | |||
} | |||
// 这个是把源码打入aar包中的任务 | |||
task sourceJar(type: Jar) { | |||
archiveClassifier.set('sources') | |||
@@ -124,4 +124,15 @@ | |||
-keep interface kotlin.Metadata { | |||
*; | |||
} | |||
-keepattributes RuntimeVisibleAnnotations | |||
-keepattributes RuntimeVisibleAnnotations | |||
# 华为相关 | |||
-ignorewarnings | |||
-keepattributes *Annotation* | |||
-keepattributes Exceptions | |||
-keepattributes InnerClasses | |||
-keepattributes Signature | |||
-keepattributes SourceFile,LineNumberTable | |||
-keep class com.huawei.hianalytics.**{*;} | |||
-keep class com.huawei.updatesdk.**{*;} | |||
-keep class com.huawei.hms.**{*;} |
@@ -6,7 +6,24 @@ | |||
android:name=".provider.PushProvider" | |||
android:authorities="${applicationId}.szyx.push" | |||
android:exported="false" /> | |||
<meta-data android:name="XIAOMI_APP_ID" android:value="_${XIAOMI_APP_ID}"/> | |||
<meta-data android:name="XIAOMI_APP_KEY" android:value="${XIAOMI_APP_KEY}"/> | |||
<service | |||
android:name=".huawei.HwMessageService" | |||
android:directBootAware="true" | |||
android:exported="false"> | |||
<intent-filter> | |||
<action android:name="com.huawei.push.action.MESSAGING_EVENT" /> | |||
</intent-filter> | |||
</service> | |||
<meta-data | |||
android:name="XIAOMI_APP_ID" | |||
android:value="_${XIAOMI_APP_ID}" /> | |||
<meta-data | |||
android:name="XIAOMI_APP_KEY" | |||
android:value="${XIAOMI_APP_KEY}" /> | |||
<meta-data | |||
android:name="HUAWEI_APP_ID" | |||
android:value="_${HUAWEI_APP_ID}" /> | |||
</application> | |||
</manifest> |
@@ -0,0 +1,13 @@ | |||
package cn.org.bjca.trust.push.huawei | |||
import android.os.Bundle | |||
import cn.org.bjca.trust.push.common.LogHelper | |||
import com.huawei.hms.push.HmsMessageService | |||
class HwMessageService: HmsMessageService() { | |||
override fun onNewToken(p0: String?, p1: Bundle?) { | |||
super.onNewToken(p0, p1) | |||
LogHelper.e( "get token:$p0") | |||
} | |||
} |
@@ -6,12 +6,16 @@ import android.content.UriMatcher | |||
import android.content.pm.PackageManager | |||
import android.database.Cursor | |||
import android.net.Uri | |||
import android.text.TextUtils | |||
import android.util.Log | |||
import androidx.sqlite.db.SupportSQLiteQueryBuilder | |||
import cn.org.bjca.trust.push.CrashHandler | |||
import cn.org.bjca.trust.push.common.CommonHelper | |||
import cn.org.bjca.trust.push.common.LogHelper | |||
import cn.org.bjca.trust.push.db.DbHelper | |||
import cn.org.bjca.trust.push.db.device.Device | |||
import com.huawei.hms.aaid.HmsInstanceId | |||
import com.huawei.hms.common.ApiException | |||
import com.xiaomi.push.it | |||
@@ -34,15 +38,7 @@ class PushProvider : ContentProvider() { | |||
CrashHandler.init() | |||
// 初始化唯一码 | |||
initDevice() | |||
val manifestField = context!!.packageManager.getApplicationInfo( | |||
context!!.packageName, | |||
PackageManager.GET_META_DATA | |||
).metaData.getString("XIAOMI_APP_ID") | |||
LogHelper.e("====>${manifestField}") | |||
getHwToken() | |||
// MiPushClient.registerPush(this, APP_ID, APP_KEY); | |||
return true | |||
@@ -112,4 +108,34 @@ class PushProvider : ContentProvider() { | |||
else -> null | |||
} | |||
} | |||
// 华为相关 | |||
private fun getHwToken() { | |||
// 创建一个新线程 | |||
object : Thread() { | |||
override fun run() { | |||
try { | |||
val appId = context!!.packageManager.getApplicationInfo( | |||
context!!.packageName, | |||
PackageManager.GET_META_DATA | |||
).metaData.getString("HUAWEI_APP_ID")?.substring(1) | |||
LogHelper.e("appId:$appId") | |||
// 输入token标识"HCM" | |||
val tokenScope = "HCM" | |||
val token = HmsInstanceId.getInstance(context).getToken(appId, tokenScope) | |||
LogHelper.e("get token:$token") | |||
// 判断token是否为空 | |||
// if (!TextUtils.isEmpty(token)) { | |||
//// sendRegTokenToServer(token) | |||
// } | |||
} catch (e: ApiException) { | |||
LogHelper.e("get token failed, $e") | |||
} | |||
} | |||
}.start() | |||
} | |||
} |
@@ -1,5 +1,7 @@ | |||
pluginManagement { | |||
repositories { | |||
maven {url 'https://developer.huawei.com/repo/'} | |||
maven { | |||
url 'http://nexus.51trust.net/repository/android-group/' | |||
allowInsecureProtocol true | |||
@@ -13,6 +15,7 @@ pluginManagement { | |||
dependencyResolutionManagement { | |||
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) | |||
repositories { | |||
maven {url 'https://developer.huawei.com/repo/'} | |||
maven { | |||
url 'http://127.0.0.1:1022/repository/maven-public/' | |||
allowInsecureProtocol true | |||