Swift中的乱舞推送通知

时间:2018-05-23 14:15:59

标签: ios swift flurry

我正在使用Flurry尝试发送推送通知,Flurry的所有其他元素的教程,如分析,事件等,都有Swift和Obj-C,但是对于Push来说它只是在Obj-C中。

我添加了乱七八糟的ios sdk并且一切正常,因为我可以在flurry网站上看到我的数据。

当它告诉我

时,我被困在这一点上
  

包括FlurryMessaging.h

如何在Swift中包含.h文件?

然后它要求我执行以下操作但不在Swift中

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

//Step1 : Call the Integration API

[FlurryMessaging setAutoIntegrationForMessaging];

//Step2 (Optional): Get a callback

[FlurryMessaging setMessagingDelegate:self];

FlurrySessionBuilder* builder = [[[FlurrySessionBuilder alloc] withIncludeBackgroundSessionsInMetrics:YES];

[Flurry startSession:@”API_KEY” withOptions:launchOptions withSessionBuilder:builder];

return YES;

}

Implement the Delegate method for Received
-(void) didReceiveMessage:(nonnull FlurryMessage*)message

{

NSLog(@”didReceiveMessage = %@”, [message description]);

//App specific implementation

}

Implement the Delegate method for Clicked
-(void) didReceiveActionWithIdentifier:(nullable NSString*)identifier message:(nonnull FlurryMessage*)message

{

NSLog(@”didReceiveAction %@ , Message = %@”,identifier, [message description]);

//Any app specific logic goes here.

//Ex: Deeplink logic (loading of viewControllers (nibs or storboards),

//additional logging, etc

}

1 个答案:

答案 0 :(得分:0)

如果您通过Cocoapods进行集成,请确保在您的podfile中包含“Flurry-iOS-SDK / FlurryMessaging”。如果有,则可以通过将其添加到import语句来访问Messaging方法:

导入Flurry_iOS_SDK

然后设置自动集成:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

FlurryMessaging.setAutoIntegrationForMessaging()
FlurryMessaging.setMessagingDelegate(self)

//And set up your Builder:

let builder = FlurrySessionBuilder.init()

    .withIncludeBackgroundSessionsInMetrics(true)

Flurry.startSession("YOUR_API_KEY", with: builder)
return true
}

为Received实现Delegate方法

func didReceive(_ message: FlurryMessage) {
    print("Did Receive Message")
    //App specific implementation
}

实施Clicked的Delegate方法

func didReceiveAction(withIdentifier identifier: String?, message: FlurryMessage) {
    print("Message Clicked")
    //Any app specific logic goes here.
}