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
llamadoShareType
eso puede ser:ShareType.invite
,ShareType.forward
,ShareType.regular
. - Tiene un Opcional (?)
StringExtra
llamadoShareType.invitedUser
. - Tiene un Opcional (?)
StringExtra
llamadoShareType.invitedUserDisplayName
. - Tiene un Opcional (?)
StringExtra
llamadoShareType.inviteEntryPoint
. - Tiene un Opcional (?)
StringExtra
llamadoShareType.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
: Cuerdaattachment
: Parcelablemessage
: Parcelablepage_name
: Cuerdapage_post_id
: Cuerdapage_target
: Largosend_as_message_entry_point
: Cuerdashare_attachment_url
: Cuerdashare_caption
: Cuerdashare_description
: Cuerdashare_fbid
: Cuerdashare_link_url
: Cuerdashare_media_url
: Cuerdashare_return_to_fb4a
: Booleanoshare_robotext
: Cuerdashare_story_url
: Cuerdashare_title
: CuerdaShareType
: Cuerdatarget_recipients
: StringArraytitle
: Cuerdatrigger
: 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