2015-07-02 2 views
4

Я планирую распространять свое приложение не только в Google Play, но и на нескольких других рынках, таких как Opera Mobile Store, Yandex Store, Amazon App Store. Для кнопки «Rate» мне нужно установить ссылку на страницу магазина. Можно ли узнать, какой рынок использовался для загрузки моего приложения?Как определить, какой рынок Android использовался для загрузки моего приложения

Конечно, я могу скомпилировать invididual APK для каждого рынка, но я хочу сделать один универсальный APK. Различные API IAP решаются библиотекой OpenIAB, но теперь я столкнулся с проблемой со ссылкой на рынок.

ответ

4

Вообще, если вы используете какую-то рекламу, чтобы распространять ваше приложение, которое вы можете использовать некоторые инструменты Google:

Короче говоря, вам нужно вставить Googgle АНАЛИТИК вашего приложения (если вы еще не используете его, конечно), и использовать его инструмент, который называется:

Campaign Measurement

Тогда вы могли бы подписать Получатель платежа:

<receiver 
     android:name=".system.RefferReceiver" 
     android:exported="true"> 
     <intent-filter> 
      <action android:name="com.android.vending.INSTALL_REFERRER" /> 
     </intent-filter> 
    </receiver> 

И вы могли бы справиться с логикой внутри приемника:

public class RefferReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(final Context context, Intent intent) { 
    String referrer = intent.getStringExtra("referrer"); 
    //do some logic 
} 

Отредактировано: К сожалению, я не прочитал ваш вопрос правильно. если вы просто хотите узнать источник рынка своего приложения. Вы можете использовать:

String installerMarket = getPackageManager().getInstallerPackageName("your_package_name"); 
    if (installerMarket == null){ 
     //do some default case 
    } 
    else if ("com.android.vending".equals(installerMarket)) { 
     //link to google play 
    } else if ("com.amazon.venezia".equals(installerMarket)){ 
     //link to amazon 
    } else if //you got the idea, you need to know the name of every market store installer 
    } 
+0

Но он работает только с сервисами Google Play, не так ли? Если приложение не установлено через Google Play, никакой референт не будет получен? –

+1

См. Отредактированный ответ – yshahak

 Смежные вопросы

  • Нет связанных вопросов^_^