应用程序内部的"礼品应用程序"

3zz*_*zzy 49 iphone objective-c ipad ios

我注意到,在最新的愤怒的小鸟更新中,他们添加了一项功能,可以在应用程序中提供您的应用程序

到目前为止,我知道你可以从iTunes本身赠送付费应用程序.有没有人知道我应该使用什么链接从应用程序本身访问这个机制?

谢谢!

A.R*_*Rod 38

实际上,itms-appss:如果您希望在App Store应用程序中打开您的URL,那么您将希望自己的URL开始,其中有人会真正赠送应用程序.这比Safari弹出更自然.

// example app id for batman arkham city lockdown
#define APP_ID 459850726

NSString *GiftAppURL = [NSString stringWithFormat:@"itms-appss://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/giftSongsWizard?gift=1&salableAdamId=%d&productType=C&pricingParameter=STDQ&mt=8&ign-mscache=1",
                                APP_ID];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:GiftAppURL]];
Run Code Online (Sandbox Code Playgroud)

APP_ID显然应该定义为您应用的Apple ID.

另外值得注意的是,URL 区分大小写.

  • 此链接会生成错误:"不再支持此功能".iOS 7的任何更新? (4认同)
  • 可能这是因为,即使在iTunes中,链接仅以https打开,而不是正常的http.所以我们必须使用itms-appss而不是普通的itms-apps (2认同)

Gre*_*g C 35

如果您查看单击该按钮时发生的情况,您可以看到它最初向www.angrybirds.com上的重定向脚本发出请求:

http://www.angrybirds.com/redirect.php?device=iphone&product=angrybirds&type=purchasegift

从那里,您被重定向到表单的安全URL:

https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/giftSongsWizard?gift=1&salableAdamId=343200656&productType=C&pricingParameter=STDQ

343200656是Angry Birds的AppleID.

  • 或许他们想要一个安全的URL来使用.如果Apple稍后更改了URL,则需要更新应用程序以修复应用程序链接.这样他们就可以从服务器端修复它. (7认同)
  • @bashan,在iOS 7中这样做的方法是什么?因为当我尝试单击此链接时,它会将我带到iTunes并说该功能已不再可用. (5认同)

Seb*_* OH 6

我在这里有一些关于如何在您的应用中添加"赠送此应用程序"按钮的分步说明:

  1. 在XIB中添加一个按钮并向其添加操作.

  2. 在你的.m中添加动作括号,例如:

    -(IBAction)actionName {
    
    } 
    
    Run Code Online (Sandbox Code Playgroud)
  3. 添加此代码并将APP_ID替换为应用程序网页链接中的数字,例如 itunes.apple.com/au/app/[APPNAME]/id**APP_ID**?mt=8

    这是一个代码,例如:

    - (IBAction)actionName 
    {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/giftSongsWizard?gift=1&salableAdamId=**[APP_ID]**&productType=C&pricingParameter=STDQ"]];
    }
    
    Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!