Falling Platform

I’m trying to create a falling platform, similar to the ones in Mario games where once you step onto it, after a delayed amount of time, it falls downwards. I’m not too concerned with the time delay as of yet but I can’t seem to figure out what’s wrong with my code. I’ve tried two different methods (as stated below) and neither of them are working. This is my script for the platform that is meant to fall. It has Use Gravity and Is Kinematic checked on the Rigidbody, as well as Is Trigger checked in the Box Collider. I’d appreciate the help. (This is a 3D program)

private Rigidbody rb;
void Start ()
{
	rb = GetComponent<Rigidbody> ();
}

void OnCollisionEnter(Collision collidedWithThis)
{
	if (collidedWithThis.transform.name == "Sphere")
	{
		//first method
		Vector3 movement = new Vector3 (0.0f, -35.0f, 0.0f);
		rb.AddForce (movement * speed);
		//second method
		rb.velocity = transform.up * -speed;
	}
}

}

Checking isKinematic on a rigidbody will cause it not to be affected by the physics engine, which is why AddForce is not moving your platform. If you want the platform to fall under the influence of gravity after some delay, you can do something like This (Make sure that neither collider is set as a trigger):

using System.Collections;
using UnityEngine;

public class FallingPlatform : MonoBehaviour
{
    public float fallDelay = 2.0f;
	
    void OnCollisionEnter(Collision collidedWithThis)
    {
        if (collidedWithThis.gameObject.name == "Sphere")
        {
            StartCoroutine(FallAfterDelay());
        }
    }

    IEnumerator FallAfterDelay()
    {
        yield return new WaitForSeconds(fallDelay);
        GetComponent<Rigidbody>().isKinematic = false;
    }
}