此信息可帮助您在 iOS 应用程序中使用应用程序内消息传送功能。
要使用应用程序内消息传送,您必须具有 SDK 版本 4.2 或更高版本。
请牢记以下信息:
在 Adobe Mobile Services 中创建消息用于定义消息显示时间的规则。有关更多信息,请参阅创建应用程序内消息。
必须对 SDK 进行本节所述的更新才能显示应用程序内消息。
即使您未定义任何消息,也可以完成这些步骤。在定义消息后,这些消息会被动态提交到您的应用程序,并且无需应用商店更新即可显示出来。
将库添加到您的项目并实施生命周期。
有关更多信息,请参阅核心实施和生命周期中的“将 SDK 和配置文件添加到您的项目”**。
导入库:
#import "ADBMobile.h"
确认 ADBMobileConfig.json
文件中包含应用程序内消息传送所需的设置。
对于要在启动时动态更新的应用程序内消息,remotes
对象必须存在且进行了正确配置:
"messages": [
{
"messageId": "de45c43c-37bf-441f-8cbd-cc3ba3469ebe",
"template": "fullscreen",
"showOffline": false,
"showRule": "always",
"endDate": 2524730400,
"startDate": 0,
"audiences": [],
"triggers": [],
"payload": { // contents change depending on template
"html": "<html>html code goes here</html>"
},
},
…
]
"remotes" : {
"analytics.poi": "https://assets.adobedtm.com/…/yourfile.json",
"messages": "https://assets.adobedtm.com/…/yourfile.json"
}
messages
或 remotes
是必需的。
如果未配置这些对象,请从 Adobe Mobile Services 下载更新的 ADBMobileConfig.json
文件。有关更多信息,请参阅核心实施和生命周期。
iOS Mobile Services SDK 会跟踪应用程序内消息的以下量度:
对于全屏和警报样式的应用程序内消息:
对于自定义的全屏应用程序内消息,消息中的 HTML 内容需要包含正确的代码以通知 SDK 跟踪以下按钮:
adbinapp://confirm/?url=https://www.yoursite.com
adbinapp://cancel
对于本地(远程)通知:
以下是有关如何包含“打开次数”跟踪的示例:
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// handle local notification click-throughs for iOS 10 and older
NSDictionary *localNotificationDictionary = launchOptions[UIApplicationLaunchOptionsLocalNotificationKey];
if ([localNotificationDictionary isKindOfClass:[NSDictionary class]]) {
[ADBMobile trackLocalNotificationClickThrough:localNotificationDictionary];
}
}
- (void) application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
[ADBMobile trackLocalNotificationClickThrough:notification.userInfo];
}
在 Adobe Mobile Services 中创建全屏消息时,您可以选择指定替代图像。如果消息无法从 Web 检索其预期图像,SDK 将尝试从应用程序包中加载同名图像。这样,即使用户处于脱机状态或预定义的图像不可访问,您也可以以原始形式显示消息。
在 Adobe Mobile Services 中配置消息时,指定替代图像资产名称。
您需要确保指定的资源可用。