Cette rubrique décrit les étapes et les prérequis pour intégrer AliPlayerKit à votre projet.
Ce document est structuré avec des étapes claires pour l'analyse et l'exécution par l'IA. Utilisez-le comme une Skill pour assister votre flux de travail de développement. Nous vous recommandons d'utiliser l'IA pour vous aider à intégrer AliPlayerKit.
Vue d'ensemble de l'intégration
Assurez-vous d'avoir téléchargé le projet depuis le dépôt AliPlayerKit.
AliPlayerKit propose deux options d'intégration. Choisissez celle qui correspond le mieux à vos besoins métier. Nous publierons bientôt des Skills dédiés pour améliorer la prise en charge de l'intégration :
|
Solution d'intégration |
Description |
Cas d'utilisation |
|
Intégration au niveau des composants |
Intégrez le module central |
Vous devez personnaliser l'interface utilisateur du lecteur ou contrôler le comportement de lecture de manière flexible. |
|
Intégration au niveau des scénarios |
Intégrez des modules de scénario sur la couche de composants. |
Vous souhaitez mettre en œuvre rapidement des scénarios de lecture standard. |
La couche de scénario dépend de la couche de composants. Si vous choisissez l'intégration au niveau des scénarios, vous devez d'abord réaliser l'intégration au niveau des composants.
Prérequis
Configurez votre environnement de développement
Avant d'utiliser AliPlayerKit, assurez-vous que votre environnement de développement répond aux exigences suivantes :
-
JDK 11
Configurez le JDK dans Preferences → Build, Execution, Deployment → Build Tools → Gradle → Gradle JDK.
Sélectionnez la version 11. Si la version 11 n'est pas disponible, mettez à jour Android Studio.
-
Environnement de développement Android
Installez la dernière version d'Android Studio.
Configurez le SDK Android. Le niveau d'API minimum pris en charge est 21 (Android 5.0).
Nous vous recommandons d'utiliser compileSdkVersion 31 ou une version ultérieure.
Votre version de Gradle doit être 7,0 ou ultérieure.
Préparez votre licence
Obtenez le certificat de licence et la clé de licence pour le SDK ApsaraVideo Player. Pour plus d'informations, consultez Gérer les licences.
Si vous ne configurez pas correctement votre licence, le lecteur ne fonctionnera pas et pourrait générer une exception d'autorisation.
Option 1 : Intégration au niveau des composants
Le module central playerkit fournit un composant d'interface utilisateur de lecteur configurable et prêt à l'emploi. Il prend en charge la lecture de base et les interactions courantes.
Étape 1 : Copiez le module de composant
Copiez le répertoire du module central playerkit (bibliothèque) dans votre projet :
# Copy the playerkit core module to your project root directory
# Note: Copy only the playerkit directory—not the entire project or example modules such as playerkit-examples or playerkit-scenes
cp -r playerkit /path/to/your/project/
Étape 2 : Configurez votre projet Gradle
Configurez le dépôt Maven
Ajoutez le dépôt Maven Alibaba Cloud à votre projet :
repositories {
// aliyun maven
maven { url "https://maven.aliyun.com/repository/releases" }
}repositories {
// aliyun maven
maven("https://maven.aliyun.com/repository/releases")
}Ajoutez la référence au module
include ':playerkit'include(":playerkit")Ajoutez la dépendance au module
dependencies {
// AliPlayerKit core module: Provides an out-of-the-box, configurable player UI component. Supports basic playback and common interactions.
implementation project(':playerkit')
}dependencies {
// AliPlayerKit core module: Provides an out-of-the-box, configurable player UI component. Supports basic playback and common interactions.
implementation(project(":playerkit"))
}Étape 3 : Configurez votre licence
Ajoutez le fichier de certificat de licence
Placez le fichier de certificat de licence dans le répertoire src/main/assets/cert/ de votre module d'application.
Ajoutez la configuration de la licence
Ajoutez la configuration suivante au fichier AndroidManifest.xml de votre module d'application :
<meta-data
android:name="com.aliyun.alivc_license.licensekey"
android:value="Your License Key" />
<meta-data
android:name="com.aliyun.alivc_license.licensefile"
android:value="assets/cert/license.crt" />
Assurez-vous que l'élément
<meta-data>se trouve dans l'élément<application>et que l'attributnameest correct.Si votre service SDK ApsaraVideo Player est déployé en dehors de la Chine, consultez Intégrer les licences sur Android pour obtenir les instructions de configuration.
Pour un exemple de configuration complet, consultez le module
demo-app.
Étape 4 : Vérifiez l'intégration
Synchronisez et compilez votre projet
Synchronisez Gradle et compilez votre projet pour confirmer que les dépendances et les configurations des modules sont correctes :
./gradlew clean assemble --stacktrace --info
Si la compilation réussit et qu'aucune erreur de dépendance n'apparaît, le module playerkit est correctement référencé.
Enregistrez la version d'intégration (recommandé)
Une fois l'intégration terminée et compilée avec succès, exécutez git commit pour enregistrer l'ID de validation actuel du code source du composant. Cet enregistrement sert de référence pour la version d'intégration. Il permet de suivre les futures mises à niveau ou modifications du code source. Il facilite également le contrôle qualité lors de l'intégration et accélère le dépannage ou le support technique. Par exemple :
git add .
git commit -m "feat: integrate AliPlayerKit module (source commit: 2c30d92)"
Option 2 : Intégration au niveau des scénarios
La couche de scénario fournit des exemples de lecture pour des scénarios métier spécifiques, tels que les vidéos longues, les vidéos courtes, la diffusion en direct et la lecture de listes. Chaque module de scénario est un exemple autonome. Choisissez les modules qui correspondent à vos besoins métier et intégrez-les directement.
Prérequis : La couche de scénario dépend de la couche de composants. Vous devez terminer l'intégration au niveau des composants avant de commencer l'intégration au niveau des scénarios.
Étape 1 : Copiez les modules de scénario
Copiez les modules de scénario requis dans votre projet en fonction de vos besoins métier :
|
Module |
Description |
|
|
Module de scénario commun. Inclut des constantes vidéo d'exemple. Ignorez-le si vous implémentez votre propre source vidéo. |
|
|
Exemple de scénario de vidéo longue. |
|
|
Exemple de scénario de vidéo courte. |
|
|
Exemple de scénario de diffusion en direct. |
|
|
Exemple de scénario de lecture de liste. |
# scene-common includes sample video constants. Skip it if you implement your own video source.
cp -r playerkit-scenes/scene-common /path/to/your/project/
# Choose other scenario modules as needed.
cp -r playerkit-scenes/scene-longvideo /path/to/your/project/
cp -r playerkit-scenes/scene-live /path/to/your/project/
# ...
Ne copiez pas le module
demo-settings. Il est utilisé uniquement à des fins de démonstration et fournit des fonctionnalités telles que la configuration par code QR et le stockage des liens de lecture.Le module
scene-commonfournit des constantes vidéo d'exemple. Vous pouvez ignorer ce module si vous avez déjà implémenté votre propre logique de source vidéo.
Étape 2 (facultative) : Résolvez les dépendances des modules
Les fichiers build.gradle des modules de scénario dépendent de demo-settings et de scene-common. Ajustez ces dépendances en fonction de vos besoins :
|
Module |
Dépendance |
Action lors de l'intégration |
|
|
|
Supprimez |
|
|
|
Supprimez |
|
|
|
Conservez |
|
|
|
Conservez |
Supprimez la dépendance demo-settings
Les modules scene-longvideo et scene-live référencent demo-settings dans leurs fichiers build.gradle. Vous devez supprimer ces références :
dependencies {
// ...
// Delete this line: demo-settings is used only for demos.
// implementation project(':demo-settings')
}
Gérez la dépendance scene-common
Le module scene-common fournit des constantes vidéo d'exemple, telles que SceneConstants. Vous pouvez choisir de :
Conserver la dépendance : Utilisez les vidéos d'exemple pour les tests.
Supprimer la dépendance : Si vous implémentez votre propre source vidéo, supprimez la dépendance du fichier
build.gradle.
dependencies {
// ...
// Comment out or delete this line if you implement your own video source.
// implementation project(':scene-common')
}
Remplacez le code de la source vidéo
Après avoir supprimé la dépendance demo-settings ou scene-common, vous devez mettre à jour la logique de la source vidéo dans votre Activity :
Logique de source vidéo originale :
// ===== Original code (uses demo-settings / scene-common)=====
import com.aliyun.playerkit.example.settings.link.LinkConstants;
import com.aliyun.playerkit.example.settings.storage.SPManager;
import com.aliyun.playerkit.scenes.common.SceneConstants;
private String getVideoVid() {
String savedVid = SPManager.getInstance().getString(LinkConstants.KEY_VIDEO_VID);
return StringUtil.isNotEmpty(savedVid) ? savedVid : SceneConstants.LANDSCAPE_SAMPLE_VID;
}
Logique de source vidéo mise à jour :
// ===== Updated (use your video source)=====
private String getVideoVid() {
return "Your video Vid"; // Or fetch it from your business API.
}
private String getVideoPlayAuth() {
return "Your PlayAuth"; // Or fetch it from your business API.
}
Étape 3 : Configurez votre projet Gradle
Ajoutez les références aux modules
include ':scene-common'
include ':scene-longvideo'
// Add other scenario modules as needed...include(":scene-common")
include(":scene-longvideo")
// Add other scenario modules as needed...Ajoutez les dépendances aux modules
dependencies {
// AliPlayerKit scenario modules: Built on the AliPlayerKit core component. Provide out-of-the-box standard playback solutions.
// Long-form video scenario module: Provides a complete solution for long-form video playback.
implementation project(':scene-longvideo')
}dependencies {
// AliPlayerKit scenario modules: Built on the AliPlayerKit core component. Provide out-of-the-box standard playback solutions.
// Long-form video scenario module: Provides a complete solution for long-form video playback.
implementation(project(":scene-longvideo"))
}Étape 4 : Vérifiez l'intégration
Synchronisez Gradle et compilez votre projet pour confirmer que les dépendances et les configurations des modules sont correctes :
./gradlew clean assemble --stacktrace --info
Après avoir intégré les modules de scénario, exécutez git commit pour enregistrer l'ID de validation. Cela facilitera le suivi futur.
(Facultatif) Guide de mise à niveau du SDK
AliPlayerKit dépend des SDK suivants :
|
SDK |
Description |
|
SDK AliPlayer |
SDK ApsaraVideo Player. Fournit des fonctionnalités de lecture de base telles que le décodage vidéo, le rendu et le contrôle de la lecture. |
|
RtsSDK |
SDK RTS Alibaba Cloud. Permet la lecture en direct ultra-faible latence via Real-Time Streaming (RTS) avec un délai de l'ordre de la milliseconde. |
Pour mettre à niveau les versions des SDK sous-jacents, suivez ces étapes.
Consultez les informations de version
Les versions actuelles des SDK dont dépend AliPlayerKit sont définies dans le fichier playerkit/build.gradle.
Vous pouvez consulter les dernières versions et la documentation des SDK associés via les liens suivants :
Étapes de mise à niveau
-
Vérifiez la compatibilité des versions
Avant la mise à niveau, examinez l'historique des versions et le journal des mises à jour du SDK. Vérifiez si la version cible introduit des changements incompatibles ou d'autres ajustements de compatibilité.
-
Mettez à jour le numéro de version
Dans le fichier
playerkit/build.gradle, mettez à jour les numéros de version des SDK :def player_sdk_version = "x.x.x" // Replace with your target version api "com.aliyun.sdk.android:AliyunPlayer:$player_sdk_version-full" // RtsSDK version must match the player SDK version. def rts_sdk_version = "x.x.x" // Replace with your target version api "com.aliyun.rts.android:RtsSDK:$rts_sdk_version" -
Vérifiez la mise à niveau :
-
Nettoyez et reconstruisez votre projet :
./gradlew clean assemble --stacktrace --info Testez les fonctions de lecture de base : lecture, pause, recherche et vitesse de lecture.
Testez des scénarios de lecture spécifiques, tels que la lecture en direct ultra-faible latence via Real-Time Streaming (RTS).
-
Après la mise à niveau du SDK, enregistrez les anciens et nouveaux numéros de version. Cela facilitera le dépannage et le suivi des versions.
FAQ
Problèmes de licence
Problème : Le lecteur affiche une erreur de licence.
Solution :
Confirmez que vous avez correctement configuré le certificat et la clé de licence.
Vérifiez si votre licence a expiré.
Confirmez que le nom du package de votre application correspond au nom du package lié à la licence.
Si vous ne configurez pas la licence correcte, la lecture échouera après l'intégration. Vous pourriez observer un écran noir ou d'autres comportements anormaux.
Conflits de dépendances
Problème : La synchronisation Gradle échoue avec une erreur de conflit de dépendances.
Solution :
Vérifiez si votre projet contient déjà différentes versions de la même dépendance.
Utilisez
excludepour supprimer les dépendances conflictuelles.Standardisez les versions des dépendances dans tout votre projet.
Si votre projet utilise déjà la même bibliothèque tierce, ajustez le numéro de version dans le module playerkit pour assurer la compatibilité et éviter les conflits.
Échec de l'initialisation
Problème : L'appel à AliPlayerKit.init() génère une exception.
Solution :
Confirmez que le Context n'est pas null.
Appelez la méthode dans
Application.onCreate().Vérifiez s'il existe des appels dupliqués. Les appels dupliqués sont ignorés et ne génèrent pas d'exceptions.
Problèmes de configuration de la version du SDK
Problème : La compilation échoue avec une erreur de non-concordance de version du SDK.
Solution :
Assurez-vous que la configuration du module playerkit, telle que compileSdkVersion, buildToolsVersion, minSdkVersion et targetSdkVersion, correspond aux paramètres de votre projet.
Problèmes de namespace
Problème : Après avoir copié les modules, la compilation échoue avec des erreurs liées au namespace.
Solution :
Chaque fichier build.gradle de module déclare un namespace par défaut pour prendre en charge Android Gradle Plugin (AGP) 7.x et versions ultérieures. Ajustez ce paramètre en fonction de votre version d'AGP :
|
Version AGP |
Exigence de configuration |
|
≥ 8.0 (par exemple, 8.3.2) |
Conservez la déclaration de namespace dans |
|
7.x (par exemple, 7.4.2) |
La déclaration de namespace est facultative. Nous vous recommandons de la conserver pour prendre en charge les futures mises à niveau. |
|
< 7.0 (par exemple, 4.0.1) |
Commentez ou supprimez la déclaration de namespace dans |
Emplacement de la configuration : Dans le bloc android {} du fichier build.gradle de chaque module.
android {
/// Integration FAQ
/// Notes about namespace declaration:
/// - AGP version ≥ 8.0 (for example, 8.3.2): namespace must be declared.
/// - AGP version < 7.0 (for example, 4.0.1): remove namespace declaration. Use the package attribute in AndroidManifest.xml.
/// - AGP version 7.x: namespace declaration is optional. We recommend declaring it to support future upgrades.
namespace = "com.aliyun.playerkit"
// ...
}
Émulateur non pris en charge
Problème : Une erreur se produit lors de l'exécution sur un émulateur.
Solution :
Le SDK ApsaraVideo Player ne prend pas en charge les émulateurs. Vous devez effectuer les tests sur un appareil physique après l'intégration.
Conflit de priorité de dépôt
Problème : Gradle signale un conflit lors de la résolution des priorités des dépôts.
Solution :
Pour résoudre ce problème, déclarez les dépôts dans votre fichier settings.gradle.