gpt4 book ai didi

iphone - ios url从邮件重定向到应用程序

转载 作者:可可西里 更新时间:2023-11-01 03:36:24 28 4
gpt4 key购买 nike

是否可以使用通过邮件发送的 URL 以某种方式启动我的应用程序?例如,我有用户想要邀请他们的 friend 加入应用程序的用户配置文件。他们发送了一封电子邮件,其中包含一些 url,例如:

通过此链接加入我:http://appname?sender_id=25&some_other_value=something

然后从 iPhone 打开该链接会将用户带入应用程序并让我解析这些值。

这可能吗?

最佳答案

是的,这完全有可能。您需要为您的应用程序注册一个 URL 方案。

在 Xcode 中选择您的应用程序项目,然后单击目标,然后从“信息”选项卡中注册一个新的 URL 方案。

标识符是您的应用程序标识符,如 com.company.AppName,URL Scheme 是您希望使用的名称,如 appName

现在至于理想的解决方案,因为我们现在将其添加到我们的应用程序中,您最好不要在电子邮件中使用您的自定义方案发送链接。原因是用户可能会从计算机打开它,因此此链接将不起作用。

最好的情况如下:

  1. 当您的应用首次运行时,使用您的应用打开 Safari 浏览器并将其发送到您的网站。
  2. 在网站中,为 Safari 安装 cookie(如 myAppIsInstalled)
  3. 在同一个网站中,通过使用您的自定义 URL 方案将用户重定向到您的应用,将用户踢回您的应用,例如 appname://

现在您在电子邮件中发送带有链接到您网站的普通 URL 的链接这是第 2 部分:

  1. 在您的网站上检查您的应用是否已安装(cookie 存在)
  2. 如果它存在,而不是从您的网站打开链接,而是使用正确的值将用户重定向到您的应用,例如

    appname://mailbox?sender_is=123&user_name=Lefteris

这确保您的电子邮件链接始终有效,并且只有当您的应用程序已安装在设备上时,您才能从 Mobile Safari 打开链接...

最后,请注意,URL 方案是 appname:// 而不是 http://appname

现在为了更好地解释第 1 部分,在我们的 AppDelegate 中,我们可以在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 委托(delegate)中执行此操作:

//if user has not set the app installed cookie, set it now.
bool hasAppInstalledCookie = [[NSUserDefaults standardUserDefaults] boolForKey:@"appInstalledCookie"];
if (!hasAppInstalledCookie) {
//mark it was set
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"appInstalledCookie"];
[[NSUserDefaults standardUserDefaults] synchronize];
//open the web browser
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.myApp.com/appInstalled"]];
}

现在在我们的 appInsalled 页面(例如 index.html)中,我们只需设置一个 cookie(我们想要的任何 cookie 名称),然后我们将用户踢回我们的应用程序,如下所示:

<script type="text/javascript">
window.location = 'appName://';
</script>

我们使用 cookie 的原因是在用户打开电子邮件链接时使用此 cookie。我们将检查浏览器是否为移动版 safari,并且是否安装了 cookie。这样,我们就知道用户已经安装了我们的应用程序,并且重定向将正常工作。

关于iphone - ios url从邮件重定向到应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15621641/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com