2016-02-03 2 views
3

Я делюсь некоторые данные с помощью WhatsApp, и я хочу, чтобы открыть определенную активность в моем приложении, когда пользователь нажмет глубоко ссылку с WhatsAppAndroid доля глубоко ссылку URL с помощью WhatsApp и открыть приложение, когда нажмите глубокую ссылку

У меня есть следующая схема

myapp://openapp?type=banner&id=10 

WhatsApp поделиться ссылкой как обычный текст не как URL, а также я не могу открыть приложение, когда пользователь нажмет он

кто может помочь, пожалуйста?

EDIT

это мой метод совместного

public static void openWhatsApp(Context mContext) { 

     PackageManager pm = mContext.getPackageManager(); 
     try { 

      Intent whatsAppIntent = new Intent(Intent.ACTION_SEND); 
      whatsAppIntent.setType("text/plain"); 

      String text = "myapp://openapp?type=banner&id=10"; 

      PackageInfo info=pm.getPackageInfo("com.whatsapp", PackageManager.GET_META_DATA); 
      whatsAppIntent.setPackage("com.whatsapp"); 

      whatsAppIntent.putExtra(Intent.EXTRA_TEXT, text); 
      mContext.startActivity(Intent.createChooser(whatsAppIntent, mContext.getString(R.string.share_with))); 

     } catch (NameNotFoundException e) { 
      Toast.makeText(mContext, "WhatsApp not Installed", Toast.LENGTH_SHORT).show(); 
     } 
} 
+0

Вы также можете использовать ссылку на реферал по этой ссылке http://technology.jana.com/2014/11/11/ tracking-referrers-for-your-android-app/comment-page-1/ –

+0

Можно ли перенаправить игру в магазин, если приложение не установлено с использованием той же ссылки? – user512

ответ

3

Я не знаю, если это возможно. Возможно, WhatsApp выделяет ссылки только на определенные протоколы (т. Е. Http, https). В этом случае, вы могли бы пойти на работу, вокруг, если вы в зависимости от этой функции:

Пусть указанные пользователями ссылки на http://your-server.com/forward?type=banner&id=10

На your-server.com, вы перенаправлять пользователя в файле forward (или через конфигурацию сервера) до myapp://openapp?type=banner&id=10.

Конечно, это некрасиво, но браузеры могут обрабатывать эти ссылки приложений. Это будет не очень хорошо, так как пользователь сначала откроет браузер для обработки вашей http-ссылки, из которой пользователь будет перенаправлен.

+0

Мой друг [разработчик iOS] сказал мне, что он использует «whatsapp: // send? Text =», и он работает с ним, но когда я пытаюсь, ничего не происходит. –

+0

'whatsapp: // send? Text = ...' будет делиться текстом с пользователем WhatsApp, если я не ошибаюсь, он не должен выделять свой URI пользовательского протокола в чате WhatsApp. – damian

0

Точно такая же проблема, с которой я столкнулся. Использование Android-приложений-ссылок, по-видимому, является правильным решением. Из документов: https://developer.android.com/training/app-links/verify-site-associations.html#request-verify

Разницы между глубокими связями и приложением ссылкой:

  • глубокой связью является умыслом фильтра, который позволяет пользователям напрямую ввести специфическую активность в вашем Android приложения. (Вы пытались использовать этот, но Whatsapp не признает это как ссылку)
  • Ссылка на приложение для Android - это глубокая ссылка на основе вашего веб-сайта, который был проверен на принадлежность вашего сайта. (Это обычная ссылка http (s), она должна быть распознана так везде)
Смежные вопросы