【ACG】博主在专栏更新内容后,及时通知关注他的用户去阅读系列一 HarmonyOS鸿蒙Next
【ACG】博主在专栏更新内容后,及时通知关注他的用户去阅读系列一 HarmonyOS鸿蒙Next 业务场景
当用户打开应用时,系统发送Push消息给用户,向用户推荐博主信息。用户关注博主后,将保存用户的订阅信息,当关注的博主更新内容时,向订阅的用户发送短信,提醒用户及时查看最新内容。从而持续增强了用户的互动性。
向用户发送Push消息
-
在应用中集成推送服务。
-
接收透传的Push消息。
-
在
AndroidManifest.xml
配置PushService
,用于接收通知消息。
<service
android:name=".ui.PushService"
android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
<meta-data
android:name="push_kit_auto_init_enabled"
android:value="true" />
PushService
继承自HmsMessageService
,处理接收到的消息后, 使用自定义通知显示消息。
private void processWithin10s(RemoteMessage message) {
if (!TextUtils.isEmpty(message.getData())) {
JSONObject object = new JSONObject(message.getData());
String title = object.optString("title") + "";
String content = object.optString("content") + "";
String articleId = object.optString("articleId") + "";
String authorId = object.optString("authorId") + "";
NotificationUtils.sendNotify(this, title, content, articleId, authorId);
}
}
使用云数据库存储信息
public static void initAGConnectCloudDB(Context context) {
AGConnectCloudDB.AGConnectCloudDB.initialize(context);
}
- 调用getInstance(AGConnectInstance connectInstance, AGConnectAuth auth)方法获取对应数据处理位置的
AGConnectCloudDB
实例,并使用createObjectType
创建对象类型。
mCloudDB = AGConnectCloudDB.getInstance(AGConnectInstance.getInstance(), AGConnectAuth.getInstance());
mCloudDB.createObjectType(ObjectTypeInfoHelper.getObjectTypeInfo());
- 创建
Cloud DB zone
配置对象,并打开该Cloud DB zone
(以Cloud DB zone
的同步属性为缓存模式、访问属性为公共存储区为例),详细请参考CloudDBZoneConfig。
public void openCloudDBZoneV2() {
mConfig = new CloudDBZoneConfig(ZONE_NAME,
CloudDBZoneConfig.CloudDBZoneSyncProperty.CLOUDDBZONE_CLOUD_CACHE,
CloudDBZoneConfig.CloudDBZoneAccessProperty.CLOUDDBZONE_PUBLIC);
mConfig.setPersistenceEnabled(true);
Task<CloudDBZone> openDBZoneTask = mCloudDB.openCloudDBZone2(mConfig, true);
openDBZoneTask.addOnSuccessListener(cloudDBZone -> {
mCloudDBZone = cloudDBZone;
addSubscription();
}).addOnFailureListener(e -> {
callBack.onPhotoErrorMessage("OpenCloudDBZone Failed: " + e.getMessage());
});
}
- 插入更新数据,用于存储新增或者修改的文章信息。
public void upsertArticle(Article article) {
Task<Integer> upsertTask = mCloudDBZone.executeUpsert(article);
upsertTask.addOnSuccessListener(cloudDBZoneResult -> {
ArrayList<Article> articles = new ArrayList<>();
articles.add(article);
callBack.onUpdate(articles);
}).addOnFailureListener(e -> callBack.onPhotoErrorMessage("upsert Error: " + e.getMessage()));
}
- 查询数据,用于查询所有文章信息。
public void queryAll() {
Task<CloudDBZoneSnapshot<Article>> queryTask = mCloudDBZone.executeQuery(
CloudDBZoneQuery.where(Article.class),
CloudDBZoneQuery.CloudDBZoneQueryPolicy.POLICY_QUERY_FROM_CLOUD_ONLY);
queryTask.addOnSuccessListener(snapshot -> {
processQueryResult(snapshot);
}).addOnFailureListener(e -> {
callBack.onPhotoErrorMessage("queryAll Error: " + e.getMessage());
});
}
由于篇幅较大,后续敬请关注下篇之博主在专栏更新内容后,及时通知关注他的用户去阅读系列二
更多关于【ACG】博主在专栏更新内容后,及时通知关注他的用户去阅读系列一 HarmonyOS鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,博主可以通过使用通知服务(Notification Service)来在专栏更新内容后及时通知关注他的用户。具体步骤如下:
-
创建通知渠道:首先,博主需要在应用中创建一个通知渠道(Notification Channel),用于管理通知的显示方式和行为。可以通过
NotificationChannel
类来创建并配置通知渠道。 -
构建通知:使用
Notification.Builder
类来构建通知。可以设置通知的标题、内容、图标等属性。例如,可以设置通知的标题为“专栏更新”,内容为“您关注的专栏已更新,请及时阅读”。 -
发送通知:通过
NotificationManager
类的notify
方法发送通知。需要指定通知的唯一ID和构建好的通知对象。 -
处理用户点击通知:当用户点击通知时,可以通过设置
PendingIntent
来指定点击通知后要执行的操作。例如,可以打开专栏的详情页面。 -
更新通知:如果专栏内容有多次更新,可以通过更新通知的ID和内容来保持通知的实时性。
示例代码片段如下:
import notification from '@ohos.notification';
// 创建通知渠道
let channel: notification.NotificationChannel = {
id: 'channel_id',
name: '专栏更新',
importance: notification.Importance.HIGH,
description: '专栏更新通知'
};
notification.createNotificationChannel(channel);
// 构建通知
let notificationRequest: notification.NotificationRequest = {
id: 1,
content: {
contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
normal: {
title: '专栏更新',
text: '您关注的专栏已更新,请及时阅读',
additionalText: '系列一'
}
},
slotType: notification.SlotType.SOCIAL_COMMUNICATION
};
// 发送通知
notification.publish(notificationRequest).then(() => {
console.log('通知发送成功');
}).catch((err) => {
console.error('通知发送失败', err);
});
通过以上步骤,博主可以在专栏更新后及时通知关注他的用户。
更多关于【ACG】博主在专栏更新内容后,及时通知关注他的用户去阅读系列一 HarmonyOS鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
作为ACG博主,在专栏更新关于HarmonyOS鸿蒙Next的内容后,可以通过以下方式及时通知关注者:
-
平台推送:利用专栏平台的推送功能,直接向订阅用户发送更新通知。
-
社交媒体:在微博、B站等平台发布动态,附上专栏链接,吸引粉丝阅读。
-
社群互动:在粉丝群或论坛中分享更新内容,鼓励讨论和反馈。
-
邮件通知:为忠实粉丝提供邮件订阅服务,确保他们第一时间获取更新。
通过这些方式,可以有效提升专栏的阅读量和用户互动。