我需要识别具有特定apk构建的用户.这个版本具有一些与普通apk相比的功能(就像一些函数在开始时是PRO).
build for GooglePlay------>
----> next version of apk
build for some Customers-->
Run Code Online (Sandbox Code Playgroud)
我想将一些数据保存到数据库中,所以即使我更新了apk I,也会有用户数据,无论用户将拥有什么版本.
当用户未运行应用程序但立即更新到下一版本时,会发生此问题.用户没有初始化sqlite,因此没有存储数据.
有没有办法保持数据并重用它,即使用户更新基地apk到更新版本?
我已经编写了一个安装接收器来确定何时通过Market安装了应用程序.但是,AnalyticsReceiver如果安装在应用程序中,我还想将INSTALL_REFERRER广播传递到其他接收方(如Google Analytics).重要的是,我不知道是否安装了其他接收器,因为我的接收器将在其应用程序中被其他开发人员使用.
目前,我收到广播,完成后我打电话给:
AnalyticsReceiver receiver = new AnalyticsReceiver();
receiver.onReceive(context, intent);
问题是该AnalyticsReceiver课程可能不存在.
那么如果我不确定该应用程序是否使用了该AnalyticsReceiver怎么办?
或者Android本身会确保安装的每个接收器都能获得广播吗?
非常感谢!
我需要在安装应用程序时执行操作.我已经开始使用了
Intent.PACKAGE_ADDED
Run Code Online (Sandbox Code Playgroud)
但我没有收到正在安装的应用程序的意图.我想在第一次安装我的应用程序时运行代码.
用例是在线服务注册.我可以列出BOOT_COMPLETED,如果已经安装了应用程序就可以了,但我需要在用户首次安装应用程序时处理这种情况.
这篇文章, 您可以在Android上安装应用程序时运行意图或脚本吗?
建议收听TIMER_TICK并在第一次广播时执行注册并设置一个标志,以便在下一个TIMER_TICK时不执行它.这似乎有问题,因为无论你是否在接收器中做某事,你仍然每隔一分钟启动你的接收器并在此过程中耗尽电池.
有更好的解决方案吗?
我为Android Market INSTALL_REFERRER Intent实现了BroadcastReceiver,如下所述:
它适用于早于3.0的Android设备,但似乎永远不会在Honeycomb设备上启动.我在安装期间和应用程序第一次启动后检查了logcat输出,我没有看到任何调试输出导致我认为BroadcastReceiver没有运行(我确实看到了预蜂窝的输出)版本).
任何人都可以确认这个问题吗?
知道如何让它工作吗?
我知道在 Android 上您可以将参数添加referrer到 Play 商店 URL,该参数将在应用程序启动时传递到应用程序...
例如
iOS 上有类似的参数吗?我希望将我的用户链接到应用程序商店,并在启动后将他们启动到特定屏幕。
InstallReferrerReceiver 的链接
我想为我的Android应用添加状态栏通知.安装应用程序后,此通知应显示在状态栏上.我有一个应用程序的后台服务,我可以在那里放置通知代码.如何在安装应用程序后触发通知?
任何解决这个问题的见解都会非常有帮助.
谢谢.
我想实现安装引用跟踪并希望引用参数和存储在后端数据库中我已经看到许多例子或问题,如获取Android Google Analytics引用标记或Android Google Analytics广告系列跟踪未显示但没有获得我生成链接的方式去尝试代码
package SimpleDemo.ReferralTrack;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
public class ReferralReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// Workaround for Android security issue: http://code.google.com/p/android/issues/detail?id=16006
try
{
final Bundle extras = intent.getExtras();
if (extras != null) {
extras.containsKey(null);
}
}
catch (final Exception e) {
return;
}
Map<String, String> referralParams = new HashMap<String, String>();
// …Run Code Online (Sandbox Code Playgroud) 可能重复:
如何知道从谷歌播放或侧载加载应用程序?
我们有一个可在多个移动平台之间移植的应用程序.它提供了自己的更新机制,可以获取应用程序使用的相当大的数据.现在这个机制也可以下载应用程序的更新版本.如果用户手动安装.apk,我们希望通过这种机制向他们发送新版本,但如果他们从Android市场(或任何其他市场)安装它,市场应用程序将负责升级并自己做会与它发生冲突.
那么是否可以从应用程序中检测应用程序是否是通过市场安装的?
我有一个 custom INSTALL_REFERRER,一个扩展BroadcastReceiver类的自定义类,以及一个指向我的应用程序的链接
此链接具有明显的referrer参数和值:ai=ai_value&gclid=gclid_test.
当我在我的开发中运行我的应用程序时adb shell,我能够捕获这两个参数和值BroadcastReceiver并将其发送回我的服务器。这adb是我正在运行的命令:
am broadcast -a com.android.vending.INSTALL_REFERRER -n com.myapp.android/.CustomInstallReceiver --es "referrer" "ai%3Dai_value%26gclid%3Dgclid_test"
Run Code Online (Sandbox Code Playgroud)
但是,当它在应用商店中上线时,我只能捕获第一个参数和值。知道发生了什么或我可以检查什么吗?