Quick Start on WordPress
<?php
if (!defined('ABSPATH')) {
exit;
}
function inject_telemetry_script() {
// Get the settings
$options = get_option('yofi_telemetry_settings');
$public_token = $options['public_token'] ?? '';
$journey_id_salt = $options['journey_id_salt'] ?? '';
// Only proceed if we have the required settings
if (empty($public_token) || empty($journey_id_salt)) {
return;
}
$user_id = ""; // Optional
$seller_id = ""; // Optional
?>
<script>
window.__yofi_telemetry_data = {
public_token: <?php echo json_encode($public_token); ?>,
journey_id_salt: <?php echo json_encode($journey_id_salt); ?>,
user_id: <?php echo json_encode($user_id); ?>,
seller_id: <?php echo json_encode($seller_id); ?>
// Set `access_token` for using journey ID and client ID across domains if need.
};
window.YofiSessionInstance = {
addLabels: (labels) => {
window.__yofi_telemetry_data.labels = {
...labels,
};
},
};
</script>
<script defer src="<?php echo esc_url('https://static-resources.yofi.ai/sdk/yofi-telemetry.js'); ?>"></script>
<?php
}
add_action('wp_head', 'inject_telemetry_script', 5);
function interact_with_telemetry_from_wp_sample() {
?>
<script>
// YofiSessionInstance
YofiSessionInstance.addLabels({
userId: 'your_label_value',
});
// Example for retrieving an access token
async function getAccessToken() {
const accessToken = await YofiTelemetry.getAppAccessToken();
return accessToken;
}
</script>
<?php
}
add_action('wp_head', 'interact_with_telemetry_from_wp_sample', 6);Summary
Last updated
Was this helpful?