2015-12-15 32 views
1

如果用戶購買了以前發佈的其他應用程序,我想要發佈一個新的應用程序以解鎖功能。有沒有辦法檢查用戶是否購買了不是當前應用程序的應用程序,而是由同一開發人員購買了應用程序?檢查用戶是否從同一開發人員處購買了其他應用程序

+0

我正在重新閱讀您的問題,並想知道是否有機會可能違反Apple的應用程序審查指南。特別是,11.1:「應用程序解鎖或啓用其他功能或功能與App Store以外的其他功能將被拒絕。」現在,您正在爲這兩種應用程序使用App Store,並且您正在爲最終用戶做一些有益的事情,所以*理論上*蘋果公司可能會對此表示贊同。值得考慮,但。 – TwoStraws

+0

是的,這更多的是我有2款付費應用(iPhone和iPad),我想棄用它並製作免費的IAP通用版本。如果他們已經購買了付費版本,我不想對用戶雙重收費,並希望解鎖IAP。 – user1218464

+0

啊!這開創了另一種可能性;看到我的更新。 – TwoStraws

回答

1

不,沒有做到這一點沒有100%完成的方式。收據驗證僅適用於當前應用程序。即使來自同一開發人員,您也無法訪問任何其他應用的購買信息。

一種選擇是看用戶是否有通過檢查其自定義URL方案安裝其他應用程序。當然,這需要用戶安裝舊應用程序。

+0

謝謝,這就是我所害怕的。 – user1218464

2

有兩種方法我能想到的要做到這一點:

1)創建自己的服務,這兩個應用程序可以談,分享信息,如,「這個遊戲中心的用戶買了這個應用程序。」然後讓其他應用程序進行查找。

2)使用local keychain存儲應用程序特定的數據,你的其他應用程序可以再讀取。

1

更新

OP澄清說,他們的目標是從付費應用程序去一個免費增值應用,在這種情況下,不同的解決方案成爲可能:see this Stack Overflow answer,看它是否有幫助。

原始

這是不可能做到你想要什麼,但你可以親近。

選項1:同時擁有應用程序發送的UIDevice.currentDevice().identifierForVendor結果到自己控制的服務器,然後使用您創建用戶帳戶統一兩個,例如一個電子郵件地址或密碼。

選項2:同時擁有應用程序註冊屬於自己特定的URL方案。任何應用程序都可以查詢是否安裝了其他應用程序,並且可以從那裏解鎖功能。要做到這一點,使用UIApplication.sharedApplication().canOpenURL(NSURL(string: "yourmagicurl://hello"))

選項1具有它需要一個服務器的缺點。此外,供應商ID可以並將在設備重置和最後一次應用移除時發生變化。選項2的缺點是兩個應用程序必須同時安裝。所以,這兩種解決方案都不是完美的,但我希望其中一個接近。

+0

謝謝,我擔心情況可能如此。第一個也有不得不釋放更新到與服務器通信的兩個應用程序(並且有人在更新)的缺點。所以選項2可能不得不做。 – user1218464

+0

注意:它不僅可以免費支付相同​​的應用程序。這就是現在有2個應用程序(1個iPhone和1個iPad),我想變成1個普遍的應用程序。因此,我可以免費提供iPhone版本(並檢查收據驗證),但是無法知道是否購買了iPad版本(以便爲這些用戶進行驗證)。 – user1218464

+0

那麼,你肯定有一個複雜的用例:) – TwoStraws

相關問題