确定用户是否安装了应用程序(AIR / AS3)
好的,我正在使用AIR和AS3进行手机游戏。 这里的想法是我想提供安装另一个游戏的激励。
换句话说:用户在游戏A中点击button,将它们带到游戏B的应用页面。用户安装游戏B,返回游戏A,在游戏A中获得奖励。
有没有办法检测到游戏B已经安装? 最有可能的方式似乎只是检测游戏A恢复时是否安装了游戏B,但我似乎无法find使用AS3 / AIR的方法。
我可能也需要为Android和iOS这样做,我认为这将需要不同的方法。
有几种方法可以回答这个问题:自定义URLscheme: https : //developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/AdvancedAppTricks/AdvancedAppTricks.html (与其他应用程序通信部分)
这就要求你试图向上销售的应用程序实际上实现了一个自定义的URLscheme,但实现起来很简单。 一旦你有了URL Scheme,你可以创build一个方法来检查:canOpenURL:返回一个应用程序是否可以打开给定的URL资源。
- (BOOL)canOpenURL:(NSURL *)url(在UIApplication中)
如果你想更重要的数据交换(共享login等),你可以使用钥匙串设施: https : //developer.apple.com/library/mac/documentation/security/conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html
你可以通过查询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,因此您必须构build一个本地扩展才能访问PackageManager。 幸运的是,互联网是伟大的,其他人已经做到了这一点。 你可以看看这个扩展 。 它的5块钱,但总值得。 我用它来做一个非常相似的逻辑。
此外,如果应用程序B是您自己的,您可以添加一个新的文件在SD卡目录中,并检查应用程序A是否存在此文件。
祝你好运:D
- 如何将移动AIR应用程序保持在横向模式?
- 将编码的.mp3保存到applicationStorageDirectory Adobe Air iOS
- 如何使用Adobe AIR for iOS录制有时间限制的video
- 从Adobe Air iOS应用程序中删除图标的光泽效果?
- 使用StageWebView.loadString()在AIR for iOS上显示Google地图
- iPhone的iPhone应用程序仍然运行时,iPhone被locking?
- 应用程序加载程序:苹果的Web服务操作不成功
- ActionScript的File.upload不适用于iOS设备的Air SDK
- cacheAsBitmap对AIR for iOS中使用scrollRect屏蔽的Sprite没有影响