Приложение DIY Pokemon Go с push-уведомлениями для Android

  1. Pokemon Go API (неофициальный)
  2. Включить Push-уведомления для PubNub
  3. Файл манифеста Android
  4. Сервисы Google Play
  5. Файлы Android
  6. WebViewClient
  7. Push-уведомления Android с PubNub
  8. WakefulBroadcastReceiver
  9. GcmIntentService
  10. Пересылка сообщений на устройство Android через GCM
  11. Конфигурация PubNub
  12. Методы этого объекта PubNub
  13. Ngrok
  14. Ключ API Карт Google
  15. Pokemon Go Имя пользователя + пароль
  16. Запустите сервер покемонов
  17. Заключение

Во втором посте, посвященном Android, я попытаюсь Pokemon Go и узнайте, как сделать приложение Pokemon Go map с помощью push-уведомлений PubNub Android, используя один из многих неофициальных API Pokemon Go поддерживается на GitHub. Это руководство требует, чтобы вы запустили удаленный сервер, используя Ngrok , и вы должны изменять URL-адрес ngrok в файле Android при каждом его запуске. Хотя этот API больше не поддерживается, надеюсь, он вдохновит вас на работу над аналогичным проектом, возможно, с собственным PubNub Проект EON для карты, или что-то еще с Android Push-уведомлений. Небо это предел, так что (покемон) GO! Во втором посте, посвященном Android, я попытаюсь   Pokemon Go   и узнайте, как сделать приложение Pokemon Go map с помощью push-уведомлений PubNub Android, используя   один из многих неофициальных API Pokemon Go   поддерживается на GitHub

Pokemon Go API (неофициальный)

API больше не поддерживается, но этот учебник следует эти направления здесь на GitHub , Установка занимает довольно много времени, особенно если у вас не установлены pip , python и некоторые другие ранее установленные зависимости.

Включить Push-уведомления для PubNub

Перейти к Консоль разработчика PubNub выберите свое приложение и выберите надстройку «мобильные push-уведомления».

Перейти к   Консоль разработчика PubNub   выберите свое приложение и выберите надстройку «мобильные push-уведомления»

Файл манифеста Android

В вашем файле манифеста вам нужно дать много разрешений, потому что это приложение использует Интернет и веб-просмотры, ваше текущее местоположение, сервисы Google Play и PubNub. Эти разрешения включают в себя Интернет , Access_Fine_location , Access_Coarse_Location и RECEIVE . Кроме того, он использует WAKE_LOCK, поэтому экран остается включенным , пока с сервера извлекается много данных, и C2D_Message , что означает « Облако на устройство» , для push-уведомлений.

Сервисы Google Play

Вам также необходимо зайти в Android SDK Manager, чтобы добавить Google Play Services, и добавить следующую строку в соответствующий файл XML:

<meta-data android: name = "com.google.android.gms.version" android: value = "@ integer / google_play_services_version" />

Это понадобится вам для push-уведомлений Android.

Файлы Android

В вашем файле MainActivity Java вы вставите JavaScript в страницу локального хоста. Существуют веб-настройки по умолчанию, которые устанавливаются каждый раз при создании веб-представления, и вы установите их в onCreate () .

Там установите следующие параметры на true: setBuiltInZoomControls (должен ли webView использовать встроенные механизмы масштабирования?), SetJavaScriptEnabled (можно ли запускать JS в веб-представлении?), SetLoadsImagesAutomatics (должен ли веб-просмотр загружать ресурсы изображений автоматически?), SetDomStorageEnabled ( включены ли API-интерфейсы хранения DOM? * только для сайтов HTML5), setSupportZoom (можно ли использовать жесты на экране для увеличения или уменьшения масштаба), setBuiltInZoomControls (можно указать, какие жесты использовать для увеличения или уменьшения масштаба), и setAllowUniversalAccessFromFileURLs (устанавливает, может ли JavaScript использоваться для доступа к содержимому из любого источника в URL-адресе файловой схемы - в данном случае из ngrok), а затем задает значение false для setDisplayZoomControls .

webView.setScrollBarStyle (View.SCROLLBARS_INSIDE_OVERLAY); webView.setWebViewClient (новый lizzieBrowser ()); String ngrokUrl = Uri.parse ("http://8186d16e.ngrok.io") .toString (); // будет меняться каждый раз при изменении ngrok, запускает webView.loadUrl (ngrokUrl);

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

WebViewClient

Теперь пришло время создать свой веб-клиент - в этом учебном пособии он называется LizzieBrowser . Все, что вам нужно сделать здесь, это вернуть false в shouldOverrideUrlLoading . Поскольку WebView автоматически загружает URL-адрес, нет необходимости вызывать view.loadUrl (url) в shouldOverrideUrlLoading () .

закрытый класс LizzieBrowser расширяет WebViewClient {@Override public boolean shouldOverrideUrlLoading (представление WebView, URL-адрес строки) {return false; } @Override public void onPageFinished (представление WebView, URL-адрес строки) {super.onPageFinished (представление, URL-адрес); }}

Это устанавливает ваш веб-просмотр! Далее у нас есть push-уведомления Android с PubNub.

Push-уведомления Android с PubNub

Чтобы начать работу с Android Mobile Push Gateway PubNub, создайте файл Java с именем GcmBroadcastReceiver и один файл с именем GcmIntentService . Оба они связаны с Google Cloud Messaging, сторонней службой push-уведомлений, используемой в этом руководстве.

WakefulBroadcastReceiver

Разница между обычными BroadcastReceiver и WakefulBroadcastReceiver заключается в том, что с последним гарантируется, что ЦП будет оставаться активным до тех пор, пока не будет запущено completeWakefulIntent (это делается в GcmIntentService .)

Разрешение GcmBroadcastReceiverwake_lock . Функция должна выглядеть так:

открытый класс GcmBroadcastReceiver extends WakefulBroadcastReceiver {@Override public void onReceive (Контекст контекста, намерение намерения) {ComponentName comp = new ComponentName (context.getPackageName (), GcmIntentService.class.getName ()); startWakefulService (context, (intent.setComponent (comp))); setResultCode (Activity.RESULT_OK); }}

SetComponent (comp) устанавливает компонент для обработки намерения. SetResultCode () предназначен для случаев, когда существует несколько широковещательных приемников, которые должны будут обрабатывать сообщения GCM по одному, один за другим. Если у вас есть только один широковещательный приемник, то эта строка кода не имеет большого значения.

GcmIntentService

В этом файле GcmIntentService многое происходит, так что приготовьтесь.

Пересылка сообщений на устройство Android через GCM

InstanceID instanceID = InstanceID.getInstance (this); Струнный токен; try {token = instanceID.getToken (getString (R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); } catch (Exception e) {System.out.println (e); }

Это создает и обновляет регистрационные токены, которые вам нужны, чтобы зарегистрировать приложение Android на серверах соединений GCM, чтобы получать сообщения.

Как только сообщение получено, вы запускаете уведомление в sendNotification () .

private void sendNotification (String msg) {NotificationManager mNotificationManager = (NotificationManager) this.getSystemService (Context.NOTIFICATION_SERVICE); PendingIntent contentIntent = PendingIntent.getActivity (this, 0, new Intent (this, MainActivity.class), 0); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder (this) .setContentTitle ("Уведомление PubNub GCM") .setStyle (new NotificationCompat.BigTextStyle () .bigText (msg)) .setContentText (msg); mBuilder.setContentIntent (contentIntent); int NOTIFICATION_ID = 1; mNotificationManager.notify (NOTIFICATION_ID, mBuilder.build ()); }

PendingIntent используется для описания намерения и целевого действия, которое оно будет выполнять. Вы можете использовать Notification.Builder , который был добавлен в Android 3.0 Honeycomb (API 11), вместо NotificationCompat.Builder . Однако, если вы хотите использовать более старые SDK, NotificationCompat - это то, что вам нужно.

Далее вы должны зарегистрировать устройство, которое должно получать push-уведомления. Во-первых, вы должны проверить, настроены ли сервисы Google Play для вашего проекта. Если это так, проверьте, существует ли уже существующий регистрационный идентификатор в общих настройках, и если нет, вам нужно получить регистрационный идентификатор.

Когда вы успешно запустите клиентское приложение, вам нужно инициализировать InstanceID. При этом вы создадите токен регистрации, который отправляется на сервер и используется для отправки сообщений в установленное приложение. Новый токен будет сгенерирован, если приложение будет удалено или токен будет взломан. Этот регистрационный токен позволяет клиентскому приложению получать сообщения с сервера.

public String getRegistrationToken () {try {InstanceID instanceID = InstanceID.getInstance (this); String token = instanceID.getToken (GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); возвратный токен; } catch (Exception e) {return "Не удалось получить регистрационный токен"; }}

Конфигурация PubNub

PNConfiguration pnConfig = new PNConfiguration () .setSubscribeKey ("ваш-ключ подписки") .setPublishKey ("ваш-ключ публикации"); закрытый финал PubNub pb = новый PubNub (pnConfig);

Методы этого объекта PubNub

Затем вам нужно будет вызвать метод addPushNotificationsOnChannels () для этого экземпляра объекта PubNub, а затем, когда вы отмените регистрацию в уведомлениях, вы будете вызывать removePushNotificationsFromChannels () . Для получения дополнительной информации посетите PubNub Java v4 SDK ,

Ngrok

Чтобы запустить этот API в своем веб-представлении Android, используйте Ngrok , Он создает безопасные туннели к локальному узлу, давая URL-адрес, который вы используете для запуска в вашем Android WebView. Для этой демонстрации я запустил локальный сервер с <em, который был на localHost: 8000, а затем на отдельной вкладке «Терминал» под названием ngrok http 8000 . Это даст мне URL-адрес, например http://dd40ede6.ngrok.io, который я добавлю в MainActivity.java , так как URL-адрес передается в webView.loadUrl () .

Когда оба этих сервера работают, вы можете вызвать их, перейдя в подкаталог PokemonGo.

Ключ API Карт Google

Тебе необходимо Ключ API Карт Google ,

Pokemon Go Имя пользователя + пароль

Если у вас еще нет имени пользователя и пароля для Pokemon Go, вы можете получить их на Сайт Pokemon Go ,

Запустите сервер покемонов

Чтобы запустить API Pokemon Go, запустите: python runserver.py -u pokemon-go-username -p pokemon-go-password -st 10 -k google-maps-api-key-password -l «location-ie-San Франциско » .

Заключение

Есть много мест, которые могут доставить вам неприятности в этом проекте. По моему опыту, они, скорее всего, находятся в файле манифеста , или с ключом API (их было много!), Или на одном из серверов. Это также раздражало, когда на создание файла Gradle уходило вечно (возможно, это было из-за того, что у меня были некоторые дополнительные файлы, с которых я начинал, а потом перестал использовать, когда переключал идеи проектов на основе карт), и то, как API был нестабильным ( но так хорошо, когда это сработало!).
Вопросы? Комментарии? Найди меня в твиттере @lizziepika !

Похожие

Scareware: фальшивые приложения Minecraft напугать сотни тысяч в Google Play
... Android. ESET обнаружил более 30 КИБЕРБЕЗОПАСНОСТИ приложения доступны для скачивания из магазина Google Play. Вредоносные приложения, которые считались читами для популярной игры Minecraft, были установлены более чем 600 000 пользователей Android. В наши дни нелегко вставить вредоносное приложение в
Включить Java в браузере Tor
Linux - новичок Этот форум по Linux предназначен для новичков в Linux. Просто начинаете и у вас есть вопрос? Если это не на страницах справочника или руководствах, то это место! Извещения 08-26-2014, 10:33 член Зарегистрировано: декабрь 2011 Сообщений: 368
Как получить простое и легкое приложение YouTube Go в любой стране
... go-v-luboj-strane-1.jpg" alt="YouTube хорош, но только если у вас есть постоянное соединение для передачи данных и неограниченная пропускная способность"> YouTube хорош, но только если у вас есть постоянное соединение для передачи данных и неограниченная пропускная способность. Это норма для городских жителей богатых стран, но не для большинства людей на планете Земля. Вот почему Google теперь предлагает
Как включить собственные уведомления для Google Chrome в Linux
Несмотря на раздражение, которое некоторые пользователи могут испытывать к уведомлениям, поступающим из веб-браузера, они здесь, чтобы остаться. Все больше и больше веб-сайтов предлагают возможность их включения и загрузки собственных уведомлений на рабочем столе. Уведомления браузера, особенно уведомления для Google Chrome, не выглядят лучше всего. Сам дизайн не страшен, так как Chrome имеет высокие стандарты. Однако в Linux система уведомлений не соответствует всей операционной системе.
Как один игрок CS: GO взял хакеров в свои руки
Обман в CS: GO - это небольшая подотрасль, трудно убиваемая паразитирующая на коже одна из самых популярных игр для ПК. Некоторые дурные скважины выходят из строя, избегая уведомления системы VAC как можно дольше. Другие используют обман как прибыльное предприятие , предлагая премиальные программы и услуги. Некоторые профессионалы даже
Лучший антивирус для Android 2019: защита вашего дроида от вредоносных программ
... Android являются основными целями для вредоносных программ. Существует так много способов его доставки, включая текстовые сообщения, сторонние приложения и иногда даже Google Play. При таком разнообразии угроз антивирус необходим. В этом руководстве к лучшему антивирусу для Android мы познакомимся с пятью лучшими вариантами на рынке. Некоторые из них бесплатны, другие платные, но все они должны защищать вас независимо от того, что вы делаете на своем устройстве. Google
4 способа безопасного резервного копирования iPhone iPad фото и видео
Если у вас есть iPhone, особенно последний, вы, вероятно, используете его, чтобы делать много фотографий и видео. Камеры на айфонах являются исключительными, и их гораздо удобнее извлекать, чем гигантские зеркальные камеры! Ну, по крайней мере, это для меня. И если вы читали что-нибудь в Интернете, вы, вероятно, слышали о Проводной писатель Мат Хонан Он получил хакерские взломы и полностью уничтожил свои iPhone,
ActiveXperts SMS Messaging Server
ActiveXperts SMS Messaging Server - это система обмена сообщениями для отправки, получения и обработки SMS и сообщений электронной почты. Система обмена SMS-сообщениями для создания пользовательских приложений на основе SMS. Автоматически отправлять, получать и обрабатывать сообщения Открытая система, API и структура базы данных задокументированы Работает как служба в Windows 2019/2016/2012 (R2) / 2008 (R2) / 10/8/7 в 32- или 64-разрядной версии
UC Browser снова в магазине Play. Вот почему это было запрещено (Скачать UC)
UC Browser снова в Play Store или он все еще забанен ?? Давай проверим! Открыт Play Store, в поисках «UC Browser» … В ожидании результатов (медленная сеть), … .Результаты появились (наконец-то !!!) Google снял запрет с UC Browser сегодня. Так что официально UC Browser снова в Play Store. Google отказывается опубликовать официальное
Селло | Sello 1.26
Обновление содержит два важных изменения: поддержку нового API InPost для шкафчиков посылок и возможность обновления фотографий и описаний в предложениях, действующих в Allegro. ФАЙЛЫ ДЛЯ ЗАГРУЗКИ
... Android. Вам рекомендуется выбрать один в соответствии с вашими потребностями. 9 лучших почтовы...
... Android. Вам рекомендуется выбрать один в соответствии с вашими потребностями. 9 лучших почтовых приложений для Android в 2019 году 1. Голубая почта BlueMail - замечательное почтовое приложение для Android на 2019 год с множеством функций. Он работает со многими платформами электронной

Комментарии

Изменить пароль для root?
Изменить пароль для root? : y Вы хотите продолжить с предоставленным паролем? : y Удалить анонимных пользователей? : y Запретить вход в систему root удаленно? : y Удалить тестовую базу данных и получить к ней доступ? : y Перезагрузить таблицы привилегий сейчас? : y все сделано! MySQL сервер теперь установлен на вашем сервере. Вы можете войти в оболочку MySQL, выполнив следующую команду. mysql -u root -p Вы должны быть успешно авторизованы после ввода
Тем не менее, если вы собираетесь включить Java, то зачем вообще использовать Tor ?
Тем не менее, если вы собираетесь включить Java, то зачем вообще использовать Tor ??? Java является одной из ПРЕИМУЩЕСТВЕННЫХ причин проблем с безопасностью, и ее СЛЕДУЕТ отключить ... если вы ее включите, вы также можете вообще не использовать Tor. 08-26-2014, 16:16
UC Browser снова в Play Store или он все еще забанен ?
UC Browser снова в Play Store или он все еще забанен ?? Давай проверим! Открыт Play Store, в поисках «UC Browser» … В ожидании результатов (медленная сеть), … .Результаты появились (наконец-то !!!) Google снял запрет с UC Browser сегодня. Так что официально UC Browser снова в Play Store. Google отказывается опубликовать официальное
Какое приложение электронной почты подходит вам больше всего?
Какое приложение электронной почты подходит вам больше всего? Все Android-смартфоны поставляются с предварительно установленным на устройстве приложением Gmail. Очевидно, вы можете искать хорошую альтернативу Gmail. Тем не менее, вам важно знать, что все упомянутые лучшие почтовые приложения для Android имеют свои преимущества и недостатки. И вполне возможно, что некоторые из них могут не соответствовать вашим ожиданиям. Теперь смотрите:
Как получить ключевой файл?
Как получить ключевой файл? 6. Я продлил лицензию на приложение. Во время активации приложение запрашивает мой предыдущий код активации. У меня нет кода! Что я должен делать? 7. Процесс продления лицензии заканчивается ошибкой, сообщающей, что для продления был использован код активации. 8. Я пользуюсь лицензией на 2 ПК. Я хотел бы перейти на один компьютер. Будет ли моя лицензия действительна в течение
Включить JavaScript?
Включить JavaScript? Затем перезагрузите веб-страницу, чтобы увидеть результат. Также прочитайте наш совет о том, как вы удаляет куки с iPhone и iPad ,
Какие инструменты или методы вы можете порекомендовать?
Какие инструменты или методы вы можете порекомендовать? Часто эта практика называется поддержанием «базовой сетки». Вот демо из Статья Ричарда Раттера , А также еще одна демка из Статья Уилсона
Причина, по которой вы не можете войти в Microsoft, в учетную запись Live, в учетную запись Google, чтобы настроить учетную запись GMail, выполнить поиск, сделать обновление?
Причина, по которой вы не можете войти в Microsoft, в учетную запись Live, в учетную запись Google, чтобы настроить учетную запись GMail, выполнить поиск, сделать обновление? Время не подходит по телефону. При настройке, если вы проигнорируете экран с просьбой установить дату и время (при условии, что, возможно, сеть или сервер времени сделают это за вас), это сломает этот материал. Да, это может случиться в другом месте - я не мог недавно войти в GMail на ПК в веб-кафе, потому
Вы производитель и дистрибьютор этого продукта?
Вы производитель и дистрибьютор этого продукта? Вы можете скачать вышеприведенный рисунок и фрагмент обзора, разместив его вместе со ссылкой у себя дома на странице. Если у вас есть вопросы, пожалуйста, свяжитесь с нами - [email protected] , Автор статьи: sosrodzice
Вы используете антивирус на устройстве Android?
Вы используете антивирус на устройстве Android? Если да, то какой? Дайте нам знать в комментариях ниже и, как всегда, спасибо за чтение. Начиная от 2 92 $ в месяц Все планы
Достаточно ли круто вернуть прежних пользователей IE, которые переключились на другие браузеры, сначала на Firefox, а совсем недавно на Google Chrome?
Достаточно ли круто вернуть прежних пользователей IE, которые переключились на другие браузеры, сначала на Firefox, а совсем недавно на Google Chrome? И сможет ли этот новый блестящий браузер реабилитировать запятнанный бренд Internet Explorer? Вот мой отчет. В Internet Explorer 9 Microsoft пытается заставить браузер исчезнуть. Не буквально, конечно, и не полностью. В мире, где пользователи ПК проводят больше времени в Интернете, чем над любой другой задачей,

Должен ли webView использовать встроенные механизмы масштабирования?
Можно ли запускать JS в веб-представлении?
Должен ли веб-просмотр загружать ресурсы изображений автоматически?
Включены ли API-интерфейсы хранения DOM?
Вопросы?
Комментарии?
Просто начинаете и у вас есть вопрос?
Изменить пароль для root?
Y Вы хотите продолжить с предоставленным паролем?
Y Удалить анонимных пользователей?

Комментарии запрещены.