0

我需要为我的几个客户发布相同的应用程序。每个客户都需要自己的徽标和颜色主题。

如果没有在 Google Play 上多次发布,是否有机会做到这一点?

4

2 回答 2

3

如上所述,我不得不猜测您要做什么,但是既然您说没有身份验证,那么这是我刚刚自己提出的建议,但据我所知,从未尝试过任何人,包括我。我仍然不明白为什么它不起作用:

提供指向您应用的 Google Play 列表页面的 URL 链接,并向该 URL 添加针对每个品牌不同的引荐来源网址参数。这看起来像这样:

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 参数中获得一个带有该客户指定品牌的URL。

这些引用参数通常用于跟踪链接的来源以用于营销目的(例如,来自 Adwords 广告)。在安装过程中,它们会由 Google Play 应用提供给您的应用。

要将其用于跟踪,您的应用应该将从引用参数(通过 Google Play)获得的信息转发到 Google Analytics,以便跟踪来自每个来源(例如,特定广告活动)的安装量。

但我的建议是,您只需自己使用该数据,将 URL 的引用参数指示的品牌选择保存到非易失性内存(例如 SharedPreferences)或 SD 卡上的某个位置,如果您想要某些东西,该位置将在数据清除后幸存下来这将在用户清除应用程序数据后继续存在。然后,每次初始化您的应用程序时,您都可以根据在安装过程中存储的引用字符串中包含的品牌加载正确的品牌资源。

以下是有关如何使用 referrer 参数的说明:

Google Play 广告系列衡量

希望这就是你要找的。如果没有,更清晰的问题陈述可能会大大有助于获得您正在寻找的答案。

您正在尝试做的事情(如果我理解正确的话)对我来说似乎很奇怪和不正统。最终,您可能会后悔,因为当一个客户想要一个不同于其他客户所需的品牌以外的功能时,您将在您的单个 APK 中创建各种特殊情况代码,并且错误为一个人介绍的可能会被所有其他人感觉到,依此类推。简而言之,它严重违反了模块化的核心原则。

更典型的方法是从同一个项目库创建多个应用程序(每个客户端一个),通过覆盖每个特定应用程序的 Activity 类(派生自图书馆的活动课)。从而最大程度地减少了重复开发和维护,并且您可以为每个客户提供单独的应用程序。品牌资源不必重复 - 您只需在每个应用程序中包含不同的品牌资源。如果您想采用这种方法,那么这里描述了如何做到这一点:

具有共享代码库的多个应用程序

于 2013-07-07T04:41:44.180 回答
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);
于 2013-07-04T14:44:27.580 回答