Saltar al contenido

Esquemas de URI personalizados para Facebook Messenger

Nuestro equipo de expertos despúes de muchos días de trabajo y de juntar de información, hemos dado con los datos necesarios, queremos que te resulte útil en tu trabajo.

Solución:

Después de buscar esta información sin éxito, he decidido hacer una lista propia. A continuación se muestra lo que logré reunir hasta ahora, junto con algunas explicaciones:

Estos fueron tomados de la versión 141.0.0.25.76(21 de octubre de 2017):

fb-messenger://accounts
fb-messenger://active_now
fb-messenger://addcard
fb-messenger://addmembers
fb-messenger://android_date_time
fb-messenger://android_storage
fb-messenger://autocompose
fb-messenger://autocompose_payment
fb-messenger://bots/get_started/?page_id=%s&cta_id=%s
fb-messenger://business
fb-messenger://business/
fb-messenger://business_extensions
fb-messenger://buy/mc?item_id=#%s
fb-messenger://callsearch
fb-messenger://commerce/
fb-messenger://compose
fb-messenger://contactmigration
fb-messenger://contacts
fb-messenger://contacts/add_contacts
fb-messenger://contactuploadoptin
fb-messenger://direct_share
fb-messenger://drawoverotherapps
fb-messenger://games
fb-messenger://groupcompose
fb-messenger://groupstab
fb-messenger://groupthreadfbid/
fb-messenger://groupthreadfbid/%s
fb-messenger://ig_contact_import
fb-messenger://installupdate
fb-messenger://instant_article/?article_id=
fb-messenger://instant_article/?article_id=%s
fb-messenger://invite
fb-messenger://join_request
fb-messenger://mai
fb-messenger://messagerequests
fb-messenger://messagesearch
fb-messenger://montage
fb-messenger://montage_composer
fb-messenger://montage_mediapicker
fb-messenger://montageaudiencepicker
fb-messenger://montagecomposer
fb-messenger://networkempathy
fb-messenger://new
fb-messenger://newuser/
fb-messenger://newuser/signup?provider_name=%s&provider_page_fbid=%s
fb-messenger://nfc
fb-messenger://omni_m
fb-messenger://opengrouppreview
fb-messenger://opengrouppreview?group_preview_hash=
fb-messenger://optimistic
fb-messenger://optimistic/%s
fb-messenger://payments
fb-messenger://payments/
fb-messenger://platform
fb-messenger://platform/cta/postback/?cta_id=%s
fb-messenger://platform/share/?cta_id=%s
fb-messenger://ride_map/%s
fb-messenger://roomcompose
fb-messenger://rtccall
fb-messenger://sampleflows
fb-messenger://settings
fb-messenger://settings/datasaver
fb-messenger://settings/messengeronlybackup
fb-messenger://settings/montage
fb-messenger://settings/notifications
fb-messenger://settings/people
fb-messenger://settings/phoneevents
fb-messenger://settings/profilepicture
fb-messenger://settings/tincan
fb-messenger://share                    < Used for sharing multimedia, contains 
                                          several extras. See more info below.
fb-messenger://sms
fb-messenger://sms/
fb-messenger://sms/%s
fb-messenger://sms-bridge
fb-messenger://sms-takeover
fb-messenger://sms-takeover/nux?context=%s
fb-messenger://sms-takeover/nux?context=%s&thread_id=%s
fb-messenger://sms-takeover/sms_anonymous_chat_head
fb-messenger://stickerstore
fb-messenger://thread/                  < Deprecated
fb-messenger://threadkeystring
fb-messenger://threads
fb-messenger://threadsettings
fb-messenger://user
fb-messenger://user/
fb-messenger://user/%s                  < Opens chathead/conversation with user %s, where
                                          %s is the numeric fb user id. Using a username 
                                          string here crashes the orca app.
fb-messenger://user/%s?ref=%s&ref_source=%s
fb-messenger://verifyphonenux
fb-messenger://voip
fb-messenger://wave

Estas son algunas adiciones tomadas de la versión. 293.0.0.13.232 (8 de diciembre de 2020):

fb-messenger://carrier_messaging/
fb-messenger://carrier_messaging//%s
fb-messenger://carrier_messaging_group/
fb-messenger://carrier_messaging_group//%s
fb-messenger://dialtone/switch_to_dialtone
fb-messenger://instant_games/play?game_id=
fb-messenger://m.me/
fb-messenger://payments/checkout/?product_type=pages_commerce&product_id=
fb-messenger://payments/paypal_close/
fb-messenger://payments/settings
fb-messenger://paypal_connect_fail/
fb-messenger://paypal_connect_success/
fb-messenger://settings/datasetting
fb-messenger-sametask://instant_games_contact_pick
fb-messenger-sametask://montage_mediapicker
fb-messenger-sametask://share
fb-messenger-sametask://threadsettings
fb-messenger-secure://accounts
fb-messenger-secure://accounts/triggersso
fb-messenger-secure://join_request
fb-messenger-secure://messagerequests
fb-messenger-secure://messagesearch
fb-messenger-secure://notification_to_account_switch
fb-messenger-secure://page_notification_direct_reply
fb-messenger-secure://page_rtc_notification_to_account_switch
fb-messenger-secure://rtccall/audio/%s
fb-messenger-secure://speakeasy_invite_list

Aquí hay algunos esquemas de URI cuyo propósito en esta aplicación no sé:

  • fb:// - ver posibles URI de este esquema aquí.
  • dialtone://
  • fbinternal://
  • fb-messenger-aol://
  • fb-messenger-assistant://
  • fb-messenger-lite://
  • fb-messenger-lite-secure://
  • fb-messenger-public://
  • fb-messenger-secure://
  • fb-work://

Investigación de fb-messenger://share (de la versión anterior de esta publicación - puede ser inválido):

  • Tiene un StringExtra llamado ShareType eso puede ser: ShareType.invite, ShareType.forward, ShareType.regular.
  • Tiene un Opcional (?) StringExtra llamado ShareType.invitedUser.
  • Tiene un Opcional (?) StringExtra llamado ShareType.invitedUserDisplayName.
  • Tiene un Opcional (?) StringExtra llamado ShareType.inviteEntryPoint.
  • Tiene un Opcional (?) StringExtra llamado ShareType.invitesSentBroadcastAction.
  • (varios otros)

En el caso de ShareType.forward:

  • Tiene un Extra con la etiqueta "attachment"O"message".
  • Tiene un Extra con la etiqueta "trigger".

###Extra campos de una acción Intent (etiqueta : escribe): ###

  • android.intent.extra.TEXT : Cuerda
  • attachment : Parcelable
  • message : Parcelable
  • page_name : Cuerda
  • page_post_id : Cuerda
  • page_target : Largo
  • send_as_message_entry_point : Cuerda
  • share_attachment_url : Cuerda
  • share_caption : Cuerda
  • share_description : Cuerda
  • share_fbid : Cuerda
  • share_link_url : Cuerda
  • share_media_url : Cuerda
  • share_return_to_fb4a : Booleano
  • share_robotext : Cuerda
  • share_story_url : Cuerda
  • share_title : Cuerda
  • ShareType : Cuerda
  • target_recipients : StringArray
  • title : Cuerda
  • trigger : Cuerda

La funcionalidad requerida se puede lograr utilizando fb-messenger://user/user-id en lugar de fb-messenger://user-thread/user-id.

Nota ese user-id es el usuario ID numérico global (por ejemplo, para Zuck es 4), que se puede obtener (a partir de noviembre de 2015) analizando el documento html que corresponde al nombre de usuario de la persona (por ejemplo, para Zuck es https://www.facebook.com/zuck) y extrayendo el "entity_id" que se encuentra dentro.

Según mi última prueba, las ID de usuario con ámbito de aplicación, que suelen ser las ID disponibles para los desarrolladores, ¡no funcionan para esto!

A continuación se muestra un script de python3 que extrae el ID global de un nombre de usuario conocido (crédito: Paul Schreiber):

#!/usr/bin/python

import requests
import re

url = 'https://www.facebook.com/zuck'
idre = re.compile('"entity_id":"([0-9]+)"')
page = requests.get(url)
print(idre.findall(page.content.decode()))

Alternativamente, este sitio puede usarse para lograr lo mismo.

Tenga en cuenta también que este método no es oficialmente compatible e incluso puede hacer que FB prohíba su aplicación.

Con la versión actual de Facebook en Android, pida automáticamente al usuario que abra la aplicación o que la abra en Chrome cuando use su dominio www.messenger.com Es mejor simplemente redirigir al usuario a esta URL y dejar que Facebook la maneje

https://www.messenger.com/t/username-or-page-name-here

Intent intent;
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.messenger.com/t/username-or-page-name-here"));
startActivity(intent);

Esto simplemente comparte un enlace


¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *