|
@@ -7,8 +7,11 @@ import android.util.Log
|
|
|
import androidx.compose.foundation.layout.PaddingValues
|
|
import androidx.compose.foundation.layout.PaddingValues
|
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.runtime.Composable
|
|
|
import androidx.compose.runtime.LaunchedEffect
|
|
import androidx.compose.runtime.LaunchedEffect
|
|
|
|
|
+import com.alibaba.sdk.android.push.CloudPushService
|
|
|
import com.alibaba.sdk.android.push.CommonCallback
|
|
import com.alibaba.sdk.android.push.CommonCallback
|
|
|
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory
|
|
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory
|
|
|
|
|
+import com.iscs.bozzys.R
|
|
|
|
|
+import com.iscs.bozzys.service.AliPushService
|
|
|
import com.iscs.bozzys.ui.base.PageBase
|
|
import com.iscs.bozzys.ui.base.PageBase
|
|
|
import com.iscs.bozzys.ui.pages.home.openPageHome
|
|
import com.iscs.bozzys.ui.pages.home.openPageHome
|
|
|
import kotlinx.coroutines.delay
|
|
import kotlinx.coroutines.delay
|
|
@@ -49,12 +52,18 @@ class PageSplash : PageBase() {
|
|
|
* 消息推送初始化操作
|
|
* 消息推送初始化操作
|
|
|
*/
|
|
*/
|
|
|
private fun initPush() {
|
|
private fun initPush() {
|
|
|
|
|
+ val pushService = PushServiceFactory.getCloudPushService()
|
|
|
|
|
+ // 设置输出调试日志
|
|
|
|
|
+ pushService.setLogLevel(CloudPushService.LOG_DEBUG)
|
|
|
|
|
+ // 设置消息服务
|
|
|
|
|
+ pushService.setPushIntentService(AliPushService::class.java)
|
|
|
// 初始化消息推送
|
|
// 初始化消息推送
|
|
|
- PushServiceFactory.getCloudPushService().register(this, object : CommonCallback {
|
|
|
|
|
|
|
+ pushService.register(this, object : CommonCallback {
|
|
|
|
|
|
|
|
override fun onSuccess(msg: String?) {
|
|
override fun onSuccess(msg: String?) {
|
|
|
// 消息推送初始化成功
|
|
// 消息推送初始化成功
|
|
|
- Log.d("xiaoming", "Push init successful $msg")
|
|
|
|
|
|
|
+ Log.d("xiaoming", "Push init success, deviceId is ${PushServiceFactory.getCloudPushService().deviceId}")
|
|
|
|
|
+ // 这里可能要告知服务端当前推送的设备id,便于后续设备推送通知
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onFailed(errCode: String?, errMsg: String?) {
|
|
override fun onFailed(errCode: String?, errMsg: String?) {
|
|
@@ -63,16 +72,15 @@ class PageSplash : PageBase() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
})
|
|
})
|
|
|
|
|
+
|
|
|
// 建立通知通道
|
|
// 建立通知通道
|
|
|
val nm = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
|
|
val nm = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
|
|
|
// 通知渠道的id。这个id值需要给后端开发和运维人员,推送的时候对应 AndroidNotificationChannel 参数。
|
|
// 通知渠道的id。这个id值需要给后端开发和运维人员,推送的时候对应 AndroidNotificationChannel 参数。
|
|
|
val channelId = "normal"
|
|
val channelId = "normal"
|
|
|
- // 用户可以看到的通知渠道的名字。
|
|
|
|
|
- val name: CharSequence = "我的测试通道"
|
|
|
|
|
// 用户可以看到的通知渠道的描述。
|
|
// 用户可以看到的通知渠道的描述。
|
|
|
- val description = "我的测试通道"
|
|
|
|
|
|
|
+ val description = getString(R.string.push_channel_normal)
|
|
|
val importance = NotificationManager.IMPORTANCE_HIGH
|
|
val importance = NotificationManager.IMPORTANCE_HIGH
|
|
|
- val channel = NotificationChannel(channelId, name, importance)
|
|
|
|
|
|
|
+ val channel = NotificationChannel(channelId, description, importance)
|
|
|
|
|
|
|
|
// 配置通知渠道的属性。
|
|
// 配置通知渠道的属性。
|
|
|
channel.description = description
|
|
channel.description = description
|