Skip to content

Schemi URI personalizzati per Facebook Messenger

Questa notizia è stata testata da esperti, quindi assicuriamo la veridicità della nostra recensione.

Soluzione:

Dopo aver cercato senza successo queste informazioni, ho deciso di fare un mio elenco. Di seguito è riportato ciò che sono riuscito a raccogliere finora, insieme ad alcune spiegazioni:

Queste sono state prese dalla versione 141.0.0.25.76(21 ottobre 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

Queste sono alcune aggiunte prese dalla versione 293.0.0.13.232 (8 dicembre 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

Ecco alcuni schemi URI di cui non conosco lo scopo in questa applicazione:

  • fb:// - vedere i possibili URI di questo schema qui.
  • dialtone://
  • fbinternal://
  • fb-messenger-aol://
  • fb-messenger-assistant://
  • fb-messenger-lite://
  • fb-messenger-lite-secure://
  • fb-messenger-public://
  • fb-messenger-secure://
  • fb-work://

Indagine su fb-messenger://share (da una versione precedente di questo post - potrebbe essere non valido):

  • Ha un StringExtra chiamato ShareType che può essere: ShareType.invite, ShareType.forward, ShareType.regular.
  • Ha un opzionale (?) StringExtra chiamato ShareType.invitedUser.
  • Ha un opzionale (?) StringExtra chiamato ShareType.invitedUserDisplayName.
  • Ha un opzionale (?) StringExtra chiamato ShareType.inviteEntryPoint.
  • Ha un opzionale (?) StringExtra chiamato ShareType.invitesSentBroadcastAction.
  • (diversi altri)

Nel caso di ShareType.forward:

  • Ha un Extra con il tag "attachment"OPPURE"message".
  • Ha un Extra con il tag "trigger".

###Extra campi di un'azione Intent (tag : tipo):###

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

La funzionalità richiesta può essere ottenuta utilizzando fb-messenger://user/{user-id} invece di fb-messenger://user-thread/{user-id}.

Nota che {user-id} è il nome dell'utente ID numerico globale dell'utente (ad esempio, per Zuck è 4), che può essere ottenuto (a partire da novembre 2015) analizzando il documento html corrispondente al nome utente della persona (ad esempio per Zuck è https://www.facebook.com/zuck) ed estraendo il campo "entity_id" che si trova all'interno.

Secondo il mio ultimo test, gli ID utente con copertura dell'applicazione, che di solito sono gli ID disponibili per gli sviluppatori, non funzionano per questo!

Di seguito è riportato uno script python3 che estrae l'ID globale per un nome utente noto (credito: 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()))

In alternativa, si può usare questo sito per ottenere lo stesso risultato.

Si noti inoltre che questo metodo non è ufficialmente supportato e potrebbe persino far sì che la vostra applicazione venga bandita da FB.

Con la versione attuale, Facebook su Android chiede automaticamente all'utente di aprire l'app o di aprirla in chrome quando si utilizza il loro dominio www.messenger.com.
È meglio reindirizzare l'utente a questo url e lasciare che sia Facebook a gestirlo.

https://www.messenger.com/t/{nome-username-o-nome-pagina-qui}

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

In questo modo si condivide semplicemente un link


Ricorda che puoi mostrare questo post se hai raggiunto il successo.



Utilizzate il nostro motore di ricerca

Ricerca
Generic filters

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.