小编Apo*_*tra的帖子

OneSignal:如何处理Xamarin.Forms应用程序的AppDelegate中的notificationOpened?

我正在使用Xamarin.Forms实现OneSignal推送通知.

我需要将OneSignal返回的字符串传递AdditionalData给构造函数App().

所以我用来HandleNotificationOpened(OSNotificationOpenedResult result)处理通知点击并获取字符串,然后将其传递给LoadApplication(new App(myData)).

所以为此,我已经MainActivity为Android和AppDelegateiOS 编写了代码.

一切都适用于Android; 即HandleNotificationOpened()获取additionalData并传递给它LoadApplication(new App(myData)).

但是在iOS中,当我打开通知时,HandleNotificationOpened()代码不会被调用.

AppDelegate.cs

static string s = null;

public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
    OneSignal.Current.StartInit("MyKey").HandleNotificationOpened(HandleNotificationOpened).EndInit();

    if(s!=null)
    {
        LoadApplication(new App(s));
    }
    else
    {
        LoadApplication(new App("myUrl.lasso")); 
    }

    return base.FinishedLaunching(app, options);
}

private static void HandleNotificationOpened(OSNotificationOpenedResult result)
{
    OSNotificationPayload payload = result.notification.payload;
    Dictionary<string, object> additionalData = payload.additionalData;

    if (additionalData != null)
    { …
Run Code Online (Sandbox Code Playgroud)

c# xamarin.ios xamarin xamarin.forms onesignal

13
推荐指数
2
解决办法
864
查看次数

App Indexing和Deep Linking有什么区别?

我已经阅读了有关Android应用程序的App Indexin g和Deep Linking的信息.

据我所知,两者都是相同的,深度链接更容易,因为它只需要在Manifest.xml文件中添加一个intent过滤器.

  1. 那么为什么我需要使用应用程序索引?

  2. 是什么让它与深层链接不同?

需要一种不同的编码方式(android)来实现

Fire Base应用程序索引

这是一个指导Fire Base应用程序索引的链接:

https://firebase.google.com/docs/app-indexing/

这有必要吗?

android deep-linking android-app-indexing

9
推荐指数
2
解决办法
2313
查看次数