Donky Modular SDK (V2.8.6.4)
Donky iOS SDK 是一个用于向您的应用程序添加推送通知和丰富内容服务的工具包。有关详细文档、教程和指南,请访问我们的在线文档。
##要求
Donky Modular SDK 的最低技术要求如下
- Xcode 6.0+
- iOS 8.0+
- 必须启用 Arc。
- 当通过 CocoaPods 集成时,库应作为 Cocoa Touch Framework 包括
CocoaPods 中的导入
如果您使用 Cocoapods,请在 Podfile
中包含 use_frameworks!
。由于库的构建方式,当 SDK 作为 Static Library 使用时,无法导入其内部使用的某些资源。框架是包括外部库在项目中的现代方式,同时也是 Swift 支持的要求,因此请使用此方法集成 Donky SDK。
在这里阅读我们的完整文档 此处
作者
Donky Networks Ltd,[email protected]
许可证
DonkySDK-iOS-Modular 采用 MIT 许可证。更多信息请参见 LICENSE 文件。
## 安装
请使用以下任意一种方法进行安装:
克隆 Git 仓库
git clone [email protected]:Donky-Network/DonkySDK-iOS-Modular.git
使用 CocoaPods
Please see below for all the information specific to the CocoaPods
## 支持与帮助
如果您在使用或集成此 SDK 时遇到任何问题,请联系 [email protected]。
## 贡献
我们接受 Pull Requests !
## CocoaPods
Donky-Core-SDK
用法
仅当您打算使用此 SDK 的这部分内容时,才将其添加到您的 'PodFile' 中。如果使用任何附加的可选模块,则不需要将其添加到 'Podfile' 中。
匿名初始化
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//Start analytics (optional)
[[DCAAnalyticsController sharedInstance] start];
//Initialise Donky with API key.
[[DNDonkyCore sharedInstance] initialiseWithAPIKey:@"API-KEY"];
return YES;
}
使用已知用户初始化
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//Start analytics (optional)
[[DCAAnalyticsController sharedInstance] start];
//Create a new user and populate with details. Country code is optional is NO mobile number is provided. If a
//mobile number is provided then a country code is mandatory. Failing to provide a country code that matches the
//mobile number will result in a server validation error.
DNUserDetails *userDetails = [[DNUserDetails alloc] initWithUserID:@""
displayName:@""
emailAddress:@""
mobileNumber:@""
countryCode:@""
firstName:@""
lastName:@""
avatarID:@""
selectedTags:@[]
additionalProperties:@{}];
//Initialise Donky with API key.
[[DNDonkyCore sharedInstance] initialiseWithAPIKey:@"API-KEY" userDetails:userDetails success:^(NSURLSessionDataTask *task, id responseData) {
NSLog(@"Successfully Initialised with user...");
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"%@", [error localizedDescription]);
}];
return YES
}
您还必须调用应用程序的代理,以确保能够及时收到和处理自定义内容通知。
确保将您的设备令牌发送到 Donky 网络
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[DNNotificationController registerDeviceToken:deviceToken];
}
处理传入通知,使用此方法允许应用程序处理已启用内容的通知
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
[DNNotificationController didReceiveNotification:userInfo handleActionIdentifier:nil completionHandler:^(NSString *string) {
completionHandler(UIBackgroundFetchResultNewData);
}];
}
处理交互式通知(仅限 iOS 8+)
- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler {
[DNNotificationController didReceiveNotification:userInfo handleActionIdentifier:identifier completionHandler:^(NSString *string) {
completionHandler();
}];
}
## 示例
示例项目可在以下位置找到
�
����src
����workspaces
����Donky Core SDK Demo
需求
- 支持iOS 7.0及以上版本
- 必须启用 Arc。
第三方依赖
安装
Donky-Core-SDK可以通过CocoaPods获得。要安装它,只需在Podfile中添加以下行
pod "Donky-Core-SDK"
Donky-Push
用法
使用Simple Push模块,使您的应用能够接收Simple Push消息。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//Start analytics (optional)
[[DCAAnalyticsController sharedInstance] start];
//Start push logic:
[[DPPushNotificationController sharedInstance] start];
//Initialise Donky
[[DNDonkyCore sharedInstance] initialiseWithAPIKey:@"API-KEY"];
return YES;
}
您还必须调用以下应用程序的代理
确保将您的设备令牌发送到 Donky 网络
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[DNNotificationController registerDeviceToken:deviceToken];
}
处理传入通知,使用此方法允许应用程序处理已启用内容的通知
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
[DNNotificationController didReceiveNotification:userInfo handleActionIdentifier:nil completionHandler:^(NSString *string) {
completionHandler(UIBackgroundFetchResultNewData);
}];
}
处理交互式通知(仅限 iOS 8+)
- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler {
[DNNotificationController didReceiveNotification:userInfo handleActionIdentifier:identifier completionHandler:^(NSString *string) {
completionHandler();
}];
}
## 示例
示例项目可在以下位置找到
�
����src
����workspaces
����Donky Simple Push Logic Demo
需求
- iOS 8.0+
- 必须启用 Arc。
- 对于交互式通知,iOS 8.0+是必须的。
安装
pod "Donky-Push"
Pod 依赖项
将此加入到您的 podfile 中,将自动拉取以下其他模块,因为它们是硬依赖。无需手动包含以下任何内容。
- Donky 核心SDK
- Donky 常用消息逻辑
Donky-RichMessage-Logic
用法
使用富消息模块以使您的应用程序能够从网络接收富消息并将其保存到 Donky 的本地数据库。然后,您可以通过在 objective-c DRLogicMainController 中提供的 API 检索和删除消息。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//Start analytics controller (optional)
[[DCAAnalyticsController sharedInstance] start];
//Start the Rich Logic
[[DRLogicMainController sharedInstance] start];
//Initialise Donky
[[DNDonkyCore sharedInstance] initialiseWithAPIKey:@"API-Key"];
return YES;
}
您还必须调用以下应用程序的代理
确保将您的设备令牌发送到 Donky 网络
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[DNNotificationController registerDeviceToken:deviceToken];
}
处理传入通知,使用此方法允许应用程序处理已启用内容的通知
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
[DNNotificationController didReceiveNotification:userInfo handleActionIdentifier:nil completionHandler:^(NSString *string) {
completionHandler(UIBackgroundFetchResultNewData);
}];
}
处理交互式通知(仅限 iOS 8+)
- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler {
[DNNotificationController didReceiveNotification:userInfo handleActionIdentifier:identifier completionHandler:^(NSString *string) {
completionHandler();
}];
}
## 示例
示例项目可在以下位置找到
�
����src
����workspaces
����Donky Rich Message Logic Demo
要求
- iOS 8.0+
- 必须启用 Arc。
安装
pod "Donky-RichMessage-Logic"
Pod 依赖项
将此加入到您的 podfile 中,将自动拉取以下其他模块,因为它们是硬依赖。无需手动包含以下任何内容。
- Donky 核心SDK
- Donky 常用消息逻辑
Donky-RichMessage-Inbox
使用
使用丰富消息模块,使您的应用程序能够在我们的预构建UI中接收和显示丰富消息。
## 示例
示例项目可在以下位置找到
�
����src
����workspaces
����Donky Rich Message Inbox Demo
要求
- iOS 8.0+
- 必须启用 Arc。
安装
pod "Donky-RichMessage-Inbox"
Pod依赖
将此加入到您的 podfile 中,将自动拉取以下其他模块,因为它们是硬依赖。无需手动包含以下任何内容。
- Donky 核心SDK
- Donky丰富消息逻辑
- Donky 常用消息逻辑
- Donky通用消息UI
Donky-Automation-Logic
使用
使用自动化模块来触发在“Campaign Builder/Donky Control”上设置的推广活动这里。
按正常方式启动Donky SDK和分析控制器。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//Start analytics module (optional)
[[DCAAnalyticsController sharedInstance] start];
//Initialise Donky
[[DNDonkyCore sharedInstance] initialiseWithAPIKey:@"API-KEY"];
return YES;
}
要触发,可以使用以下任一方法
[DAAutomationController executeThirdPartyTriggerWithKey:@"Trigger-Key" customData:@{}];
[DAAutomationController executeThirdPartyTriggerWithKeyImmediately:@"Trigger-Key" customData:@{}];
## 示例
示例项目可在以下位置找到
�
����src
����workspaces
����Donky Automation Demo
需求
- iOS 8.0+
- 必须启用 Arc。
安装
pod "Donky-Automation-Logic"
Pod 依赖
将此加入到您的 podfile 中,将自动拉取以下其他模块,因为它们是硬依赖。无需手动包含以下任何内容。
- Donky 核心SDK
Donky-CommonMessaging-Audio
使用方法
使用此模块,您可以针对各种消息类型保存音频文件,并在接收到该类型消息时自动播放它们。[更多信息](http://docs.mobiledonky.com)
启动控制器
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[[DAMainController sharedInstance] start];
//Other donky modules or custom code:
return YES;
}
为了设置声音文件,此方法接受指向文件的 NSURL。
[[DAMainController sharedInstance] setAudioFile:<#(NSURL *)#> forMessageType:<#(DonkyAudioMessageTypes)#>];
播放声音文件
[[DAMainController sharedInstance] playAudioFileForMessage:<#(DonkyAudioMessageTypes)#>];
## 示例
�
����src
����workspaces
����Donky Audio
需求
- iOS 8.0+
- 必须启用 Arc。
安装
pod "Donky-CommonMessaging-Audio"
Pod 依赖
无
Donky-Core-Sequencing
用法
使用此模块,您可以在不实现回调的情况下执行对某些账户控制器方法的多次调用,并且无需担心在改变本地和网络状态时的顺序。
该模块覆盖以下方法
DNSequencingAccountController
+ (void)updateAdditionalProperties:(NSDictionary *)newAdditionalProperties success:(DNNetworkSuccessBlock)successBlock failure:(DNNetworkFailureBlock)failureBlock;
+ (void)saveUserTags:(NSMutableArray *)tags success:(DNNetworkSuccessBlock)successBlock failure:(DNNetworkFailureBlock)failureBlock;
+ (void)updateUserDetails:(DNUserDetails *)userDetails success:(DNNetworkSuccessBlock)successBlock failure:(DNNetworkFailureBlock)failureBlock;
+ (void)updateRegistrationDetails:(DNUserDetails *)userDetails deviceDetails:(DNDeviceDetails *)deviceDetails success:(DNNetworkSuccessBlock)successBlock failure:(DNNetworkFailureBlock)failureBlock;
+ (void)updateDeviceDetails:(DNDeviceDetails *)deviceDetails success:(DNNetworkSuccessBlock)successBlock failure:(DNNetworkFailureBlock)failureBlock;
## 示例
需求
- iOS 8.0+
- 必须启用 Arc。
安装
pod "Donky-Core-Sequencing"
Pod 依赖
将此加入到您的 podfile 中,将自动拉取以下其他模块,因为它们是硬依赖。无需手动包含以下任何内容。
- Donky 核心SDK
Donky-通用消息逻辑
使用方法
您无需手动将通用逻辑模块添加到应用程序中,它是一个PodSpec依赖项,因此不需要手动添加到PodFile中。
Donky-通用消息用户界面
使用方法
您无需手动将通用UI模块添加到应用程序中,它是一个PodSpec依赖项,因此不需要手动添加到PodFile中。
Donky-核心定位
使用方法
添加此模块后,您可以使用Donky的定位和报告功能,请参阅这里