Swift 中的 Flurry 推送通知
Flurry Push Notifications in Swift
我正在使用 Flurry 尝试发送推送通知,Flurry 的所有其他元素(如分析、事件等)的教程都有 Swift 和 Obj-C,但是对于 Push its all in Obj-C .
我已经添加了 flurry ios sdk,并且一切正常,因为我可以在 flurry 网站上看到我的数据。
当它告诉我
时,我卡住了
Include 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
}
如果您通过 Cocoapods 进行集成,请确保在您的 podfile 中包含“Flurry-iOS-SDK/FlurryMessaging”。如果有,则可以通过将其添加到导入语句来访问消息传递方法:
进口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.
}
我正在使用 Flurry 尝试发送推送通知,Flurry 的所有其他元素(如分析、事件等)的教程都有 Swift 和 Obj-C,但是对于 Push its all in Obj-C .
我已经添加了 flurry ios sdk,并且一切正常,因为我可以在 flurry 网站上看到我的数据。
当它告诉我
时,我卡住了Include 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
}
如果您通过 Cocoapods 进行集成,请确保在您的 podfile 中包含“Flurry-iOS-SDK/FlurryMessaging”。如果有,则可以通过将其添加到导入语句来访问消息传递方法:
进口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.
}