我需要为我的几个客户发布相同的应用程序。每个客户都需要自己的徽标和颜色主题。
在Google Play上没有多次出版的情况下有机会这样做吗?
答案 0 :(得分:3)
如上所述,我不得不在某种程度上猜测你要做什么,但既然你说没有认证,那么这里有一个建议,就是我现在就自己做了但是从来没有,据我所知,被包括我在内的任何人试过。我仍然不明白为什么它不起作用:
提供链接到您应用的Google Play商家信息页面的网址,并为该网址添加一个参与者参数,该参数对于每个品牌都有所不同。这看起来像这样:
https://play.google.com/store/apps/details?id=com.example.app&referrer=brand1
https://play.google.com/store/apps/details?id=com.example.app&referrer=brand2
etc.
每个客户都会在referrer参数中获得一个包含该客户指定品牌的网址。
这些引荐来源参数通常用于跟踪用于营销目的的链接来源(例如,来自Adwords广告)。他们会在安装过程中通过Google Play应用程序为您的应用提供支持。
要将此功能用于跟踪,您的应用应该将从引荐参数(通过Google Play)获取的信息转发到Google Analytics,以便跟踪每个来源(例如,特定广告系列)的安装数量。
但我的建议是,您只需自己使用该数据即可将URL的referrer参数指示的品牌选择保存到非易失性存储器(例如,SharedPreferences),或者保存到SD卡上可以在数据清除后存活的位置。你想要一些能够在用户清除应用程序数据后继续存在的东西。然后,每次初始化您的应用时,您都可以根据安装过程中存储的引荐来源字符串中包含的品牌加载正确的品牌资源。
以下是有关如何使用referrer参数的说明:
Google Play Campaign Measurement
希望这就是你要找的东西。如果没有,更清晰的问题陈述可能会很长一段时间来获得你正在寻求的答案。
你要做的事情(如果我理解正确的话)对我来说似乎很奇怪而且非正统。最终,您可能会后悔,因为当一个客户想要品牌以外的功能与其他客户所需的功能明显不同时,您将在单个APK中创建各种特殊情况代码,并且会出现错误所有其他人都可以感受到为一个人所介绍,等等。简而言之,这是对模块化核心原则的严重违反。
更典型的方法是从同一个项目库创建多个应用程序(每个客户端一个),通过覆盖每个特定应用程序的Activity类中的方法选择品牌(以及任何其他特定于应用程序的功能)(它来自图书馆的活动类)。从而最大限度地减少了重复的开发和维护,并为每个客户提供了单独的应用程序。品牌资源不必重复 - 您只需在每个应用中包含不同的品牌资源。如果你想采取这种方法,那么这里是一个如何做到的描述:
答案 1 :(得分:1)
您可以使用
以编程方式更改主题setTheme( android.R.style.MyTheme );
所以基本上你可以检查哪个客户正在使用该应用并加载匹配的主题。
对于徽标/图片资源,您可以通过HTTP获取,然后设置它?
URL url = new URL("http://images.com/image?id=customerId");
Bitmap myBitmap= BitmapFactory.decodeStream(url.openConnection().getInputStream());
imageView.setImageBitmap(myBitmap);