Jami-Identifikatoren
Es gibt viele Identifikatoren in Jami. Wir müssen die Benennung dieser Identifikatoren zwischen allen Implementierungen vereinen. Diese Seite bezieht sich auf verschiedene Arten von Identifikatoren, die in Jami verwendet werden, mit relevanten Beispielen.
Jami Infohash oder Jami Public Key Fingerabdruck: ein Fingerabdruck mit öffentlichen Schlüsseln wie
3d1112ab2bb089370c0744a44bb0786418d40b
Registrierte Name: ein Benutzername, das mit einem Jami Infohash auf der Blockchain verbunden ist, wie
jeandupont
URI: ein Jami oder SIP URI wie
jami:3d1112ab2bb089370c0744a44bb0786418d40b
oderjami:jeandupont
oder<sip:nnnnn@host:5060>
. muss mit [rfc3986] (https://tools.ietf.org/html/rfc3986) übereinstimmen. Wenn es sich um ein SIP URI handelt, muss es mit [rfc3261#19.1] übereinstimmen.Kanonischer URI:
jami:3d1112ab2bb089370c0744a44bb0786418d40b
odersip:nnnnn@host:5060
. Die vereinfachteste Form des URI. Der registrierte Name muss gelöst werden, enthält keine <> Halter oder Anzeigennamen. Vorgezeichnet mit dem Schema (jami:
odersip:
odersips:
).Benutzer-ID: registrierte Name (vorzuziehen) oder Fingerabdruck mit öffentlichem Schlüssel. Benutzer-gegebenen Identifikator für einen öffentlichen Schlüssel des Kontos.
Displayname oder Profilname: ein bearbeitbarer benutzerdefinierter Profilname wie
Jean Dupont
.
Bei der Anzeige eines Kontakts:
_____
|photo| Display name or User ID
|_____| User ID
Wenn der Name des Displays leer ist, wird die Benutzer-ID stattdessen angezeigt
Wenn beide Zeilen denselben Inhalt haben, wird nur die erste Zeile angezeigt
If no photo is available and a registered name (jami) or display name (sip) is available, the first letter of this name can be used to generate a placeholder. Otherwise a generic placeholder is used.
Wenn kein Foto verfügbar ist, kann ein Platzhalter mit einer Canonical URI-spezifischen Hintergrundfarbe verwendet werden:
final int[] contactColors = {
color.red_500, color.pink_500,
color.purple_500, color.deep_purple_500,
color.indigo_500, color.blue_500,
color.cyan_500, color.teal_500,
color.green_500, color.light_green_500,
color.grey_500, color.lime_500,
color.amber_500, color.deep_orange_500,
color.brown_500, color.blue_grey_500
};
int generateAvatarColor(String canonicalUri) {
if (isEmpty(canonicalUri))
return R.color.grey_500;
String h = md5(canonicalUri);
if (h == null)
return R.color.grey_500;
int colorIndex = Integer.parseInt(h.charAt(0) + "", 16);
return contactColors[colorIndex % contactColors.length];
}
Farbwerte stammen aus der Materialpalette: https://material.io/tools/color
! [références_couleurs_jami]