Donky-CoreLocation 4.8.6.4

Donky-CoreLocation 4.8.6.4

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
Released最后发布2018年12月

Donky Networks LtdBen MooreDominik Kowalski 维护。



Donky Networks LTD

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 作为静态库使用时,无法导入用于内部使用的某些资源。框架是包含外部库的现代方法,也是 Swift 支持的要求,因此请使用此方式集成 Donky SDK。

请在此处阅读我们的完整文档 http://docs.mobiledonky.com

作者

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] 联系。

##贡献

我们接受 pulling requests!

##CocoaPods

Donky-Core-SDK

Version License Platform Docs

使用

只有当这是您将要使用的 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。

第三方依赖

AFNetworking

安装

Donky-Core-SDK 可通过 CocoaPods 获取。要安装,请简单地在您的 Podfile 中添加以下行

pod "Donky-Core-SDK"

Donky-Push

Version License Platform Docs

用法

使用简单推送模块来启用您的应用程序接收简单推送消息。

- (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

Version License Platform Docs

用法

使用富消息模块,可以让您的应用程序从网络接收富消息并将其保存到 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

Version License Platform Docs

使用说明

使用富消息模块,使您的应用程序能够在我们的预建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 自动化逻辑

Version License Platform Docs

使用说明

使用自动化模块,在 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

Version License Platform Docs

使用

使用此模块允许您为各种消息类型保存音频文件,并在接收到该类型消息时自动播放这些音频文件。[链接](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

Version License Platform Docs

用法

使用此模块,您可以在不实现回调或改变本地和网络状态时无需担心序列的情况下对某些账户控制器方法进行多次调用。

此模块覆盖以下方法内部

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-CommonMessaging-Logic

Version License Platform Docs

使用

您无需手动将常用逻辑模块添加到您的应用程序中,它是PodSpec依赖项,因此无需手动添加到PodFile中。

Donky-CommonMessaging-UI

Version License Platform Docs

使用

您无需手动将常用UI模块添加到您的应用程序中,它是PodSpec依赖项,因此无需手动添加到PodFile中。

Donky-CoreLocation

Version License Platform Docs

使用

添加此模块将允许您使用Donky的位置和报告功能,请参阅此处