到目前为止,我通过应用内购买在Play商店中发布我的应用以禁用广告.

我正在重新设计整个应用程序,我想将它分成两个应用程序:一个用于移动设备(如原始设备)和一个用于Android TV设备,因此我考虑将这两个版本作为两个新应用程序发布并转换为实际的应用程序成像购买经理.我希望已付费的用户移除移动版中的广告,以便在电视广告中删除广告.

有ways来检查是否没有从Play商店安装应用程序和/或它已被篡改(例如,使用apktools).

创建付费应用程序作为其他应用程序的“关键”也是possible.

我在想创建三个应用程序:

> PM:采购经理,将取代实际的应用程序
> MB:我的应用程序的移动版本
>电视:我的应用程序的电视版

所有这三个应用程序都将使用相同的密钥进行签名,并将包括篡改检测. PM将有一个公开的活动,MB或电视可以使用它来检查用户是否购买了“移除广告”功能.

但我有两个问题:

>这种设计是安全的还是可以被开发利用?
>有没有更优雅的方式(除了uploading multiple APKs)这样做?

EDIT1:
我分割我的应用程序有两个主要原因:

>我的应用程序目前支持API级别9,通过添加leanback库我应该将最低SDK增加到17级
>我不希望一个大型apk同时具有电视和移动版本的图像和布局

解决方法

新答案:

如果您使用multiple APK功能,我认为不需要采购经理.如果您将两个不同的APK上传到当前列表,则IAP应该能够应用于两个APK.从Android developer website开始:

If you create a product list for an application,and you use the multiple APK feature to distribute more than one APK for that application,the product list applies to all APK versions that are associated with the application listing.

老答案:

坚持使用单个应用程序会更优雅.从Android developer website:

TV apps use the same structure as those for phones and tablets. This approach means you can create new TV apps based on what you already kNow about building apps for Android,or extend your existing apps to also run on TV devices.

上面链接的页面上的课程(here’s the first lesson)解释了在电视和移动设备上使用相同的apk工作所需的一切.此外,请务必阅读所有Designing for TV页.

android – 使一个IAP对不同的应用程序有效的更多相关文章

  1. 详解如何通过H5(浏览器/WebView/其他)唤起本地app

    这篇文章主要介绍了详解如何通过H5(浏览器/WebView/其他)唤起本地app的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. 详解Html5页面实现下载文件(apk、txt等)的三种方式

    这篇文章主要介绍了详解Html5页面实现下载文件(apk、txt等)的三种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  3. ios – Trello iPhone应用程序是如何开发的?

    我想知道Trelloiphone应用程序正在使用哪些库或框架.它是一个JS框架的webapp?我很好奇,因为我非常喜欢用户界面,并且在没有运气的情况下搜索了互联网.解决方法我在Trello团队中编写了iPhone应用程序.它是除了附件查看器之外的所有本机代码,它只是一个WebView.我们使用RestKit与我们的API进行通信,并帮助将数据本地缓存到CoreData.否则,它只是一堆自定义UIViews和UIViewControllers.

  4. ios-您的应用是否包含,显示或访问第三方内容? AdMob广告

    虽然在itunes上提交了一个app,它集成了admob,但复选框“你的应用是否包含,显示或访问第三方内容?”的价值应该是什么?解决方法答案是否定的,不要检查它,而你必须检查你的应用程序是否正在使用IDFA,并确保选中“在应用程序内投放广告”.

  5. ios – 在AFNetworking中设置用户代理

    我们的iOS应用程序最近被Apple拒绝,因为它无法与我们的服务器api建立有效连接.我们使用特殊格式的用户代理来注册设备令牌等.如果用户代理不适合我们的sheme,则api会阻止请求.这一切都很好地在模拟器和真实设备上测试应用程序.用户代理设置正确,api调用工作正常.当Apple测试应用程序时,他们拒绝了它,因为应用程序无法连接到api.当我们检查服务器日志文件时,我们注意到,Apple测试人

  6. iOS / XCode:如何通过点击通知或跳板应用程序图标来了解该应用程序已启动?

    我想知道是否有办法知道某个应用程序是否已通过点击启动:>通知?>或跳板上的应用程序图标?

  7. ios – 当我在xCode 5中验证我的应用程序时,获取错误的广告标识符[IDFA]错误

    在验证我的应用程序时,我收到错误消息“广告标识符使用不当.您的应用包含广告标识符[IDFA]API,但您尚未遵守iOS中的限制广告跟踪设置.”我在广告标识符的准备上传页面上检查了“是”.我在我的应用程序中使用revmob广告和flurry分析(COCOS2D-X项目).如何解决这个问题,我已经尝试了很多但没有成功.我使用下面的代码进入appdelegate但没有运气.解决方法这个IDFA问题今天仍

  8. ios – Oauth突然无法使用iphone(仅安装了FS应用程序)

    我们的iPhone应用程序允许通过oauth通过Foursquare登录.它工作正常,最近停止工作.我们得到的错误是:连接失败:回调uri对此使用者无效.但是,如果用户没有在手机上安装foursquare应用程序,它可以像以前一样正常工作.似乎FS现在正在进行重定向来处理FS应用程序内部的oauth,并且在尝试返回到原始应用程序时失败.通过野生动物园它似乎工作.这是在ios9上.解决方案?

  9. 编译 – iOS9,企业应用程序中的bitcode

    我喜欢这个iOS9功能,因为用户可以将所需的切片下载到设备,以便以最小的文件大小快速更新应用程序.Bcodeode默认在Xcode7中启用,但对于企业应用程序,我们将应用程序更新上传到我们的企业服务器,我们的客户用户通过链接从我们的服务器下载它.这个过程中没有应用程序商店.对于启用了Bitcode的企业应用程序,这样可以吗?

  10. 如何在iTunes上获取我的应用统计数据?

    我最近发布了一个iPhone应用程序,但我没有看到任何方法来检查应用程序统计数据,就像在GooglePlay中一样.你能告诉我怎么做吗?

随机推荐

  1. bluetooth-lowenergy – Altbeacon库无法在Android 5.0上运行

    昨天我在Nexus4上获得了Android5.0的更新,并且altbeacon库停止了检测信标.似乎在监视和测距时,didEnterRegion和didRangeBeaconsInRegion都没有被调用.即使RadiusNetworks的Locate应用程序现在表现不同,一旦检测到信标的值,它们就不再得到更新,并且通常看起来好像信标超出了范围.我注意到的一点是,现在在logcat中出现以下行“B

  2. android – react-native动态更改响应者

    我正在使用react-native进行Android开发.我有一个视图,如果用户长按,我想显示一个可以拖动的动画视图.我可以使用PanResponder实现这一点,它工作正常.但我想要做的是当用户长按时,用户应该能够继续相同的触摸/按下并拖动新显示的Animated.View.如果您熟悉Google云端硬盘应用,则它具有类似的功能.当用户长按列表中的任何项目时,它会显示可拖动的项目.用户可以直接拖

  3. android – 是否有可能通过使用与最初使用的证书不同的证书对其进行签名来发布更新的应用程序

    是否可以通过使用与最初使用的证书不同的证书进行签名来发布Android应用程序的更新?我知道当我们尝试将这样的构建上传到市场时,它通常会给出错误消息.但有没有任何出路,比如将其标记为主要版本,指定市场中的某个地方?解决方法不,你不能这样做.证书是一种工具,可确保您是首次上传应用程序的人.所以总是备份密钥库!

  4. 如何检测Android中是否存在麦克风?

    ..所以我想在让用户访问语音输入功能之前检测麦克风是否存在.如何检测设备上是否有麦克风.谢谢.解决方法AndroidAPI参考:hasSystemFeature

  5. Android – 调用GONE然后VISIBLE使视图显示在错误的位置

    我有两个视图,A和B,视图A在视图B上方.当我以编程方式将视图A设置为GONE时,它将消失,并且它正下方的视图将转到视图A的位置.但是,当我再次将相同的视图设置为VISIBLE时,它会在视图B上显示.我不希望这样.我希望视图B回到原来的位置,这是我认为会发生的事情.我怎样才能做到这一点?编辑–代码}这里是XML:解决方法您可以尝试将两个视图放在RelativeLayout中并相对于彼此设置它们的位置.

  6. android – 获得一首歌的流派

    我如何阅读与歌曲相关的流派?我可以读这首歌,但是如何抓住这首歌的流派,它存放在哪里?解决方法检查此代码:

  7. android – 使用textShadow折叠工具栏

    我有一个折叠工具栏的问题,在展开状态我想在文本下面有一个模糊的阴影,我使用这段代码:用:我可以更改textColor,它可以工作,但阴影不起作用.我为阴影尝试了很多不同的值.是否可以为折叠文本投射阴影?

  8. android – 重用arm共享库

    我已经建立了armarm共享库.我有兴趣重用一个函数.我想调用该函数并获得返回值.有可能做这样的事吗?我没有任何头文件.我试过这个Android.mk,我把libtest.so放在/jni和/libs/armeabi,/lib/armeabi中.此时我的cpp文件编译,但现在是什么?我从objdump知道它的名字编辑:我试图用这个android.mk从hello-jni示例中添加prebuild库:它工作,但libtest.so相同的代码显示以下错误(启动时)libtest.so存在于libhello-j

  9. android – 为NumberPicker捕获键盘’Done’

    我有一个AlertDialog只有一些文本,一个NumberPicker,一个OK和一个取消.(我知道,这个对话框还没有做它应该保留暂停和恢复状态的事情.)我想在软键盘或其他IME上执行“完成”操作来关闭对话框,就像按下了“OK”一样,因为只有一个小部件可以编辑.看起来处理IME“Done”的最佳方法通常是在TextView上使用setonEditorActionListener.但我没有任何Te

  10. android – 想要在调用WebChromeClient#onCreateWindow时知道目标URL

    当我点击一个带有target=“_blank”属性的超链接时,会调用WebChromeClient#onCreateWindow,但我找不到新的窗口将打开的新方法?主页url是我唯一能知道的东西?我想根据目标网址更改应用行为.任何帮助表示赞赏,谢谢!

返回
顶部