Search docs/

Class Kit

Plugin for using Apple's ClassKit framework.

Prerequisites: Only works with Xcode 9.4 and iOS 11.4. Your Provisioning Profile must include the ClassKit capability. Read more about how to Request ClassKit Resources (https://developer.apple.com/contact/classkit/) in here: https://developer.apple.com/documentation/classkit/enabling_classkit_in_your_app. Also note that you can’t test ClassKit behavior in Simulator because Schoolwork isn’t available in that environment.

https://github.com/sebastianbaar/cordova-plugin-classkit.git

Cordovaの問題で困っていますか?

本格的なプロジェクトを構築している場合、トラブルシューティングに時間を費やす余裕はありません。Ionicのエキスパートが、保守、サポート、統合に関する公式サポートを提供しています。

今日連絡ください!

インストール

ionic cordova plugin add cordova-plugin-classkitnpm install @ionic-native/class-kit
Ionic EEでは、Ionic Teamが完全にサポートしメンテナンスしているプラグインを利用できます。 詳しくみる連絡ください。
ionic enterprise register --key=YOURPRODUCTKEYnpm install @ionic-enterprise/class-kit

サポートしているプラットフォーム

  • iOS

利用方法

import { ClassKit, CCKContext, CCKBinaryItem, CCKQuantityItem, CCKScoreItem, CCKContextTopic, CCKContextType, CCKBinaryType } from '@ionic-native/class-kit/ngx';

// Init contexts defined in XML file 'CCK-contexts.xml'
constructor( ..., private classKit: ClassKit) {
  platform.ready().then(() => {
    classKit.initContextsFromXml("classkitplugin://")
      .then(() => console.log("success"))
      .catch(e => console.log("error: ", e));
  });
}

...

// Init context with identifier path
const context: CCKContext = {
  identifierPath: ["parent_title_one", "child_one", "child_one_correct_quiz"],
  title: "child one correct quiz",
  type: CCKContextType.exercise,
  topic: CCKContextTopic.science,
  displayOrder: 0
};

this.classKit.addContext("classkitplugin://", context)
   .then(() => console.log("success"))
   .catch(e => console.log("error: ", e));


// Remove all contexts
this.classKit.removeContexts()
   .then(() => console.log("success"))
   .catch(e => console.log("error: ", e));


// Remove context with identifier path
this.classKit.removeContext(["parent_title_one", "child_one", "child_one_correct_quiz"])
   .then(() => console.log("success"))
   .catch(e => console.log("error: ", e));


// Begin a new activity or restart an activity for a given context
this.classKit.beginActivity(["parent_title_one", "child_two", "child_two_quiz"], false)
   .then(() => console.log("success"))
   .catch(e => console.log("error: ", e));


// Adds a progress range to the active given activity
this.classKit.setProgressRange(0, 0.66)
   .then(() => console.log("success"))
   .catch(e => console.log("error: ", e));


// Adds a progress to the active given activity
this.classKit.setProgress(0.66)
   .then(() => console.log("success"))
   .catch(e => console.log("error: ", e));


// Adds activity information that is true or false, pass or fail, yes or no
const binaryItem: CCKBinaryItem = {
  identifier: "child_two_quiz_IDENTIFIER_1",
  title: "CHILD TWO QUIZ 1",
  type: CCKBinaryType.trueFalse,
  isCorrect: isCorrect,
  isPrimaryActivityItem: false
};

this.classKit.setBinaryItem(binaryItem)
   .then(() => console.log("success"))
   .catch(e => console.log("error: ", e));


// Adds activity information that signifies a score out of a possible maximum
const scoreItem: CCKScoreItem = {
  identifier: "total_score",
  title: "Total Score :-)",
  score: 0.66,
  maxScore: 1.0,
  isPrimaryActivityItem: true
};

this.classKit.setScoreItem(scoreItem)
   .then(() => console.log("success"))
   .catch(e => console.log("error: ", e));


// Activity information that signifies a quantity
const quantityItem: CCKQuantityItem = {
   identifier: "quantity_item_hints",
   title: "Hints",
   quantity: 12,
   isPrimaryActivityItem: false
};

this.classKit.setQuantityItem(quantityItem)
   .then(() => console.log("success"))
   .catch(e => console.log("error: ", e));