Страница 1 из 1

FB.Mobile.AppInvite

СообщениеДобавлено: 24 сен 2016, 13:34
getAlex
Не работает инвайт
Синтаксис:
Используется csharp
FB.Mobile.AppInvite(new System.Uri ("https://fb.me/12345"), null, InviteMobileCallback);

Диалог отправки открывается, описание, картинка - всё есть, вбиваешь ещё пару строчек текста и отправить - всё без ошибок. Но не присылает другу приглашение в приложение. Приложение исключительно для мобил, использует APPLink фейсбука без отдельного хостинга.

Подозреваю что дело из-за того что нет url, но мне не совсем понятно что такое schemes и диплинк. Нужно ли регистрироваться на диплинк.ми и создавать схему чтоб её сюда вписать или это нужно в манифесте сделать? Или это просто произвольная фраза, которая должна совпадать с url в аплинке?

Что вписать сюда? И должно ли поле "name" совпадать с полем "name" в манифесте? Будет ли тогда схема как бы поддоменом этого имени?
Изображение
И сюда?
Изображение
Кто-то может на пальцах объяснить, а то я перерыл уже всю документацию и мне всё ещё не понятно как оно работает через facebook sdk for unity конкретно в юнити.

Re: FB.Mobile.AppInvite

СообщениеДобавлено: 26 сен 2016, 17:57
DbIMok
Нужно понимать, что все это нужно только для того, чтобы поймать через FetchDeferredAppLinkData id конкретного пользователя, инвайтом которого мы воспользовались. Потому что все инвайты есть в "me?fields=apprequests" и для того чтобы их получить не нужно всех этих сложных механизмов. Далее, если вам все еще нужен тот самый конкретный id, то статические AppLink вам не подходят. То есть нужен какой-нибудь хостинг и скрипт, подстраивающий AppLink под запрос. Но для тестов можно использовать и статик. Предположим у нас есть AppLink вида
Изображение
к нему в AndroidManifest согласно https://developers.facebook.com/docs/ap ... to-content в разделе activity "com.unity3d.player.UnityPlayerActivity" должен быть дописан фильтр
Изображение
что там будут за подчеркнутые слова, не важно, главное, чтобы они совпадали. У меня добавлено еще category android.intent.category.BROWSABLE. Проверить корректность можно запуская приложение через
adb -d shell am start -W -a android.intent.action.VIEW -d "sharesample://" com.company.product

FetchDeferredAppLinkData ловит переданный id в TargetUrl. Приходят инвайты в моем случае (во время тестирования) только админу и только в FB на устройство. Девелоперам/тестерам и в браузере (вероятно зависит от добавленных платформ в FB приложении) они не видны. Остроты ощущений добавляет кэш FB. Правильно работающий AppLink должен отправлять в магазин, если приложение не установлено. Для этого имеет смысл завести альфа/бета версию и убедиться, что у тестера получается зайти на страницу приложения в магазине до тестирования самого инвайта. Если приложение установлено, то по инвайту должно открываться установленное приложение (если переходит в магазин, значит что-то неправильно).

Re: FB.Mobile.AppInvite

СообщениеДобавлено: 26 сен 2016, 21:16
getAlex
Спасибо. :-bd Значит мне эти поля не нужны т.к. id мне не нужен. У меня не работает самый обычный запрос FB.Mobile.AppInvite(). Буду искать другие причины.

DbIMok писал(а):Потому что все инвайты есть в "me?fields=apprequests"

Получается, что их тоже нужно удалять через API Graph DELETE как и обычные апп реквесты типа принятия подарков, чтоб не переполнялась строка? Или это не важно, потому что FB отсекает повторные приглашения пользователю, который уже установил игру?

ps Самое странное что игровые запросы у меня проходят, а инвайты нет. Чудеса.

Re: FB.Mobile.AppInvite

СообщениеДобавлено: 27 сен 2016, 15:06
getAlex
А для iOS указывать url обязательно. Как так?