2013-10-06 56 views
0

好吧,我正在使用AIR和AS3開發手機遊戲。這裏的想法是我想提供安裝另一個遊戲的激勵。確定用戶是否安裝了應用程序(AIR/AS3)

換句話說: 用戶在遊戲中一個水龍頭按鈕,使他們的應用程序頁面遊戲B.用戶安裝遊戲B,可以追溯到遊戲,獲得在遊戲中的獎勵A.

是否有辦法檢測到遊戲B已安裝?最有可能的方式似乎只是檢測遊戲A恢復時是否安裝了遊戲B,但似乎無法找到使用AS3/AIR的方法。

我可能還需要爲Android和iOS這樣做,我認爲這需要採用不同的方法。

回答

1

有一對夫婦的方式來回答這個問題: 自定義URL方案: https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/AdvancedAppTricks/AdvancedAppTricks.html (與其他應用程序部分通信)

這就要求你正試圖向上銷售的應用程序並在事實上實現自定義URL方案,但實現起來很簡單。一旦你有了URL Scheme,你可以創建一個方法來檢查:canOpenURL: 返回應用程序是否可以打開給定的URL資源。

  • (BOOL)canOpenURL:(NSURL *)網址 (在UIApplication的)

如果您想了解更多顯著數據交換(共享登錄,或一些這樣的),你可以使用Keychain設施: https://developer.apple.com/library/mac/documentation/security/conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html

1

您可以通過查詢PackageManager類來完成此操作。在Java中,這將是這個樣子:

isAppInstalled("your.package.name.here"); 

private boolean isAppInstalled(String packageName) { 
    PackageManager pm = getPackageManager(); 
    boolean installed = false; 
    try { 
     pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES); 
     installed = true; 
    } catch (PackageManager.NameNotFoundException e) { 
     installed = false; 
    } 
    return installed; 
} 

由於您使用AS3,你應該建立一個原生擴展訪問PackageManager。幸運的是,互聯網是偉大的,其他人已經做到了。你可以看看這個extension。它的5塊錢,但總值得。我用它來做一個非常類似的邏輯。

而且,如果應用程序B是你自己的,你可以在SD卡目錄中添加一個新的文件,並檢查該文件中是否存在與應用A.

好運:d

相關問題