Le moyen le plus rapide d’intégrer l’expérience GIF complète de heypster dans un produit consiste à partir de nos SDK.
Ils évitent d’assembler vous-même les appels API, de développer un picker depuis zéro ou de maintenir votre propre logique de recherche et de navigation pour les GIF.
Sur iOS, Android et le web, les SDK poursuivent le même objectif : proposer un chemin d’intégration court, un catalogue respectueux de la vie privée et un niveau de personnalisation suffisant pour s’adapter à votre produit.
Les sections ci-dessous couvrent d’abord le parcours d’intégration recommandé, puis les points d’extension utiles lorsque vous avez besoin d’un rendu plus spécifique.
Le SDK heypster vous permet d’intégrer un sélecteur de GIF directement dans une application iOS, tout en conservant les briques bas niveau nécessaires pour composer votre propre interface.
La voie la plus simple et la plus recommandée consiste à présenter HeypsterView dans une feuille système standard. Vous obtenez immédiatement les GIF du jour, la recherche par mots-clés et la navigation par émotions.
HeypsterView est actuellement disponible sur iOS et visionOS.
Le SDK expose aussi les composants d’interface et la logique de contrôle utilisés dans nos propres applications, de l’Apple Watch au Vision Pro.
Utilisez cette couche lorsque vous avez besoin d’un contrôle plus fin sur la mise en page, la navigation ou la manière dont le contenu Heypster s’intègre à votre UI existante.
Votre application a besoin d’une clé API pour s’authentifier auprès du service heypster. Demandez-la à contact@heypster.com.
Ajoutez ensuite le package Swift depuis le dépôt Heypster dans votre projet.
Une application démo est fournie pour montrer l’intégration recommandée de bout en bout. Pour l’exécuter sur un appareil ou un simulateur :
Les extraits ci-dessous couvrent le minimum nécessaire pour initialiser le SDK, présenter le picker et afficher le GIF sélectionné dans votre interface.
Initialisez le SDK au lancement de l’application en fournissant votre clé API et votre identifiant applicatif.
import SwiftUI
import HeypsterSDK
@main
struct DemoApp: App {
var body: some Scene {
WindowGroup {
DemoView()
}
}
init() {
HeypsterClient.initialize(configuration: .init(secret: "YOUR_APP_SECRET", id: "YOUR_APP_ID"))
}
}
Dans une application UIKit, appelez la même initialisation depuis AppDelegate.didFinishLaunching.
Fournissez une instance de HeypsterView à un modificateur de feuille SwiftUI et déclenchez sa présentation au moment voulu.
HeypsterView renvoie le GIF sélectionné via un callback. Vous pouvez alors exploiter l’objet HeypsterGIF, récupérer l’URL temporaire stockée dans transferable et la réutiliser dans votre propre flux ou dans les mécanismes de partage du système.
import SwiftUI
import HeypsterSDK
struct DemoView: View {
@State private var showGifs = false
var body: some View {
Button {
showGifs = true
} label: {
Text("Show HeypsterView")
}
.sheet(isPresented: $showGifs) {
HeypsterView { gif in
}
}
}
}
Utilisez GIFView avec le résultat de la sélection pour afficher le GIF Heypster choisi directement dans votre interface.
// Use GIFView to easily present a GIF within your UI.
GIFView(gif: result.gif)
.id(result)
Le SDK heypster permet d’ajouter rapidement un sélecteur de GIF dans une application Android, tout en laissant la possibilité de réutiliser les composants sous-jacents dans une intégration plus personnalisée.
Android 7.0 (API level 24) ou version ultérieure.
Pour des raisons de sécurité et de confidentialité, le SDK Android est distribué sous la forme d’un module AAR à intégrer directement dans votre projet.
implementation("com.google.android.material:material:1.12.0")
implementation("com.google.code.gson:gson:2.10.1")
implementation(files("libs/HeypsterSDK_1.0.0.aar"))
Le SDK a besoin d’une clé API pour authentifier votre application auprès du service heypster. Contactez-nous pour l’obtenir, puis initialisez le client avant d’afficher le picker.
HeypsterClient.initialize("** YOUR API KEY **")
Le parcours recommandé consiste à utiliser HeypsterView. Il est fourni sous la forme d’un BottomSheetDialogFragment affichable depuis un FragmentActivity standard.
HeypsterView affiche par défaut les GIF du jour et prend en charge la découverte par émotions ainsi que la recherche.
Après la sélection d’un GIF, vous pouvez l’afficher avec GifView.
val gifView = findViewById<GifView>(R.id.gifView)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener{
HeypsterView {
gifView.loadGif(it) }.show(supportFragmentManager)
}
}
<com.heypster.sdk.views.GifView
android:id="@+id/gifView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp" />
heypster-gif propose un SDK JavaScript vanilla pour intégrer directement les parcours de recherche et de sélection dans votre application web.
Le SDK Web nécessite une clé API. Demandez-la à contact@heypster.com, puis conservez-la pour l’initialisation et les requêtes d’exécution.
Installez le package dans votre application web avec npm :
npm install heypster-gif
Importez le point d’entrée `index.js` du package heypster-gif.
import HeypsterGifSDK from './node_modules/heypster-gif/index.js';
Créez ensuite une instance de `HeypsterGifSDK`. Le constructeur accepte les arguments suivants :
let heypsterSDK = new HeypsterGifSDK('APIkey', true, 'fr', 'top', 'v1', { provider: null, key: null })
Les recherches par mots-clés et par tags sont toujours exécutées en anglais. L’option language ajoute une langue secondaire pour l’interface et vaut fr par défaut.
La version d’interface détermine la présentation du picker et ses capacités. La version 1 se concentre sur les catégories et la recherche, la version 2 ajoute la découverte par emoji et par tags avec un flux de suggestions enrichi, et la version 3 peut afficher des résultats externes comme GIPHY ou Tenor aux côtés du catalogue Heypster.
| Code | Langue |
|---|---|
| en | Anglais |
| fr | Français |
| de | Allemand |
| da | Danois |
| nl | Néerlandais |
| sv | Suédois |
| it | Italien |
| es | Espagnol |
| pt | Portugais |
| no | Norvégien |
| fi | Finnois |
| ko | Coréen |
| ar | Arabe |
| ca | Catalan |
| hr | Croate |
| cs | Tchèque |
| el | Grec |
| he | Hébreu |
| hi | Hindi |
| hu | Hongrois |
| id | Indonésien |
| ja | Japonais |
| ms | Malais |
| pl | Polonais |
| ro | Roumain |
| ru | Russe |
| zh | Chinois simplifié |
| zh-TW | Chinois traditionnel |
| tr | Turc |
| uk | Ukrainien |
| sk | Slovaque |
| th | Thaï |
| vi | Vietnamien |
| et | Estonien |
| br | Breton |
| ga | Irlandais |
| lv | Letton |
| lt | Lituanien |
| mt | Maltais |
| sl | Slovène |
| bg | Bulgare |
| sr | Serbe |
Si initialize vaut true, le composant du SDK est chargé dès que la page est prête. Dans ce mode, votre bouton n’a plus qu’à appeler togglePopup().
let heypsterSDK = new HeypsterGifSDK('APIkey', true, 'fr', 'top', 'v1');
document.querySelector('#gif_button').addEventListener('click', e => {
heypsterSDK.togglePopup();
});
Si initialize est absent ou vaut false, le composant n’est pas chargé au démarrage de la page. Initialisez-le lors de la première ouverture du picker.
let heypsterSDK = new HeypsterGifSDK('APIkey', false, 'fr', 'top', 'v1');
document.querySelector('#gif_button').addEventListener('click', e => {
if(!heypsterSDK.popupElement){
heypsterSDK = heypsterSDK.initialize();
}
heypsterSDK.togglePopup();
});
Le chargement différé allège le temps de chargement initial de la page, même si le premier rendu du composant peut demander un peu plus de temps.
Depuis l’interface générée, l’utilisateur peut parcourir les catégories ou lancer une recherche par mots-clés. Les résultats sont ensuite affichés dans le picker.
Chaque clic sur un GIF déclenche l’événement personnalisé heypsterGifClicked sur window. Vous pouvez l’écouter ainsi :
window.addEventListener('heypsterGifClicked', (event) => {
// Access GIF information
const { gifMini, h264 } = event.detail;
});
Pour garantir la disponibilité dans le temps, nous recommandons de stocker les assets sélectionnés dans votre propre infrastructure. Les liens directs restent possibles si vous cherchez l’intégration la plus légère.
Nous gardons le SDK centré sur les besoins d’intégration réels. Si une capacité vous manque aujourd’hui, décrivez-nous votre cas d’usage et nous l’examinerons avec vous.
CONTACT@HEYPSTER.COM